{"version":3,"sources":["node_modules/d3-selection/src/namespaces.js","node_modules/d3-selection/src/namespace.js","node_modules/d3-selection/src/creator.js","node_modules/d3-selection/src/selector.js","node_modules/d3-selection/src/selection/select.js","node_modules/d3-selection/src/array.js","node_modules/d3-selection/src/selectorAll.js","node_modules/d3-selection/src/selection/selectAll.js","node_modules/d3-selection/src/matcher.js","node_modules/d3-selection/src/selection/selectChild.js","node_modules/d3-selection/src/selection/selectChildren.js","node_modules/d3-selection/src/selection/filter.js","node_modules/d3-selection/src/selection/sparse.js","node_modules/d3-selection/src/selection/enter.js","node_modules/d3-selection/src/constant.js","node_modules/d3-selection/src/selection/data.js","node_modules/d3-selection/src/selection/exit.js","node_modules/d3-selection/src/selection/join.js","node_modules/d3-selection/src/selection/merge.js","node_modules/d3-selection/src/selection/order.js","node_modules/d3-selection/src/selection/sort.js","node_modules/d3-selection/src/selection/call.js","node_modules/d3-selection/src/selection/nodes.js","node_modules/d3-selection/src/selection/node.js","node_modules/d3-selection/src/selection/size.js","node_modules/d3-selection/src/selection/empty.js","node_modules/d3-selection/src/selection/each.js","node_modules/d3-selection/src/selection/attr.js","node_modules/d3-selection/src/window.js","node_modules/d3-selection/src/selection/style.js","node_modules/d3-selection/src/selection/property.js","node_modules/d3-selection/src/selection/classed.js","node_modules/d3-selection/src/selection/text.js","node_modules/d3-selection/src/selection/html.js","node_modules/d3-selection/src/selection/raise.js","node_modules/d3-selection/src/selection/lower.js","node_modules/d3-selection/src/selection/append.js","node_modules/d3-selection/src/selection/insert.js","node_modules/d3-selection/src/selection/remove.js","node_modules/d3-selection/src/selection/clone.js","node_modules/d3-selection/src/selection/datum.js","node_modules/d3-selection/src/selection/on.js","node_modules/d3-selection/src/selection/dispatch.js","node_modules/d3-selection/src/selection/iterator.js","node_modules/d3-selection/src/selection/index.js","node_modules/d3-selection/src/select.js","node_modules/d3-selection/src/sourceEvent.js","node_modules/d3-selection/src/pointer.js","node_modules/d3-selection/src/index.js","node_modules/d3-dispatch/src/dispatch.js","node_modules/d3-dispatch/src/index.js","node_modules/d3-drag/src/noevent.js","node_modules/d3-drag/src/nodrag.js","node_modules/d3-drag/src/index.js","node_modules/d3-color/src/define.js","node_modules/d3-color/src/color.js","node_modules/d3-color/src/index.js","node_modules/d3-interpolate/src/basis.js","node_modules/d3-interpolate/src/basisClosed.js","node_modules/d3-interpolate/src/constant.js","node_modules/d3-interpolate/src/color.js","node_modules/d3-interpolate/src/rgb.js","node_modules/d3-interpolate/src/numberArray.js","node_modules/d3-interpolate/src/array.js","node_modules/d3-interpolate/src/date.js","node_modules/d3-interpolate/src/number.js","node_modules/d3-interpolate/src/object.js","node_modules/d3-interpolate/src/string.js","node_modules/d3-interpolate/src/value.js","node_modules/d3-interpolate/src/round.js","node_modules/d3-interpolate/src/transform/decompose.js","node_modules/d3-interpolate/src/transform/parse.js","node_modules/d3-interpolate/src/transform/index.js","node_modules/d3-interpolate/src/index.js","node_modules/d3-timer/src/timer.js","node_modules/d3-timer/src/timeout.js","node_modules/d3-timer/src/index.js","node_modules/d3-transition/src/transition/schedule.js","node_modules/d3-transition/src/interrupt.js","node_modules/d3-transition/src/selection/interrupt.js","node_modules/d3-transition/src/transition/tween.js","node_modules/d3-transition/src/transition/interpolate.js","node_modules/d3-transition/src/transition/attr.js","node_modules/d3-transition/src/transition/attrTween.js","node_modules/d3-transition/src/transition/delay.js","node_modules/d3-transition/src/transition/duration.js","node_modules/d3-transition/src/transition/ease.js","node_modules/d3-transition/src/transition/easeVarying.js","node_modules/d3-transition/src/transition/filter.js","node_modules/d3-transition/src/transition/merge.js","node_modules/d3-transition/src/transition/on.js","node_modules/d3-transition/src/transition/remove.js","node_modules/d3-transition/src/transition/select.js","node_modules/d3-transition/src/transition/selectAll.js","node_modules/d3-transition/src/transition/selection.js","node_modules/d3-transition/src/transition/style.js","node_modules/d3-transition/src/transition/styleTween.js","node_modules/d3-transition/src/transition/text.js","node_modules/d3-transition/src/transition/textTween.js","node_modules/d3-transition/src/transition/transition.js","node_modules/d3-transition/src/transition/end.js","node_modules/d3-transition/src/transition/index.js","node_modules/d3-ease/src/cubic.js","node_modules/d3-ease/src/index.js","node_modules/d3-transition/src/selection/transition.js","node_modules/d3-transition/src/selection/index.js","node_modules/d3-transition/src/active.js","node_modules/d3-transition/src/index.js","node_modules/d3-brush/src/constant.js","node_modules/d3-brush/src/event.js","node_modules/d3-brush/src/noevent.js","node_modules/d3-brush/src/brush.js","node_modules/d3-brush/src/index.js","node_modules/d3-array/src/ascending.js","node_modules/d3-array/src/bisector.js","node_modules/d3-array/src/number.js","node_modules/d3-array/src/bisect.js","node_modules/d3-array/src/ticks.js","node_modules/d3-array/src/max.js","node_modules/d3-array/src/quantile.js","node_modules/d3-array/src/range.js","node_modules/d3-array/src/index.js","node_modules/d3-scale/src/init.js","node_modules/d3-scale/src/ordinal.js","node_modules/d3-scale/src/band.js","node_modules/d3-scale/src/constant.js","node_modules/d3-scale/src/number.js","node_modules/d3-scale/src/continuous.js","node_modules/d3-format/src/formatDecimal.js","node_modules/d3-format/src/exponent.js","node_modules/d3-format/src/formatGroup.js","node_modules/d3-format/src/formatNumerals.js","node_modules/d3-format/src/formatSpecifier.js","node_modules/d3-format/src/formatTrim.js","node_modules/d3-format/src/formatPrefixAuto.js","node_modules/d3-format/src/formatRounded.js","node_modules/d3-format/src/formatTypes.js","node_modules/d3-format/src/identity.js","node_modules/d3-format/src/locale.js","node_modules/d3-format/src/defaultLocale.js","node_modules/d3-format/src/precisionFixed.js","node_modules/d3-format/src/precisionPrefix.js","node_modules/d3-format/src/precisionRound.js","node_modules/d3-format/src/index.js","node_modules/d3-scale/src/tickFormat.js","node_modules/d3-scale/src/linear.js","node_modules/d3-scale/src/nice.js","node_modules/d3-scale/src/quantile.js","node_modules/d3-time/src/interval.js","node_modules/d3-time/src/millisecond.js","node_modules/d3-time/src/second.js","node_modules/d3-time/src/minute.js","node_modules/d3-time/src/hour.js","node_modules/d3-time/src/day.js","node_modules/d3-time/src/week.js","node_modules/d3-time/src/month.js","node_modules/d3-time/src/year.js","node_modules/d3-time/src/utcMinute.js","node_modules/d3-time/src/utcHour.js","node_modules/d3-time/src/utcDay.js","node_modules/d3-time/src/utcWeek.js","node_modules/d3-time/src/utcMonth.js","node_modules/d3-time/src/utcYear.js","node_modules/d3-time/src/ticks.js","node_modules/d3-time/src/index.js","node_modules/d3-time-format/src/locale.js","node_modules/d3-time-format/src/defaultLocale.js","node_modules/d3-time-format/src/index.js","node_modules/d3-scale/src/time.js","node_modules/d3-scale/src/index.js","node_modules/d3-path/src/path.js","node_modules/d3-path/src/index.js","node_modules/d3-shape/src/constant.js","node_modules/d3-shape/src/math.js","node_modules/d3-shape/src/arc.js","node_modules/d3-shape/src/array.js","node_modules/d3-shape/src/curve/linear.js","node_modules/d3-shape/src/point.js","node_modules/d3-shape/src/line.js","node_modules/d3-shape/src/area.js","node_modules/d3-shape/src/descending.js","node_modules/d3-shape/src/identity.js","node_modules/d3-shape/src/pie.js","node_modules/d3-shape/src/index.js","node_modules/kind-of/index.js","node_modules/shallow-clone/index.js","node_modules/isobject/index.js","node_modules/is-plain-object/index.js","node_modules/clone-deep/index.js","node_modules/@swimlane/ngx-charts/fesm2020/swimlane-ngx-charts.mjs"],"sourcesContent":["export var xhtml = \"http://www.w3.org/1999/xhtml\";\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};","import namespaces from \"./namespaces.js\";\nexport default function (name) {\n var prefix = name += \"\",\n i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {\n space: namespaces[prefix],\n local: name\n } : name; // eslint-disable-line no-prototype-builtins\n}","import namespace from \"./namespace.js\";\nimport { xhtml } from \"./namespaces.js\";\nfunction creatorInherit(name) {\n return function () {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name);\n };\n}\nfunction creatorFixed(fullname) {\n return function () {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\nexport default function (name) {\n var fullname = namespace(name);\n return (fullname.local ? creatorFixed : creatorInherit)(fullname);\n}","function none() {}\nexport default function (selector) {\n return selector == null ? none : function () {\n return this.querySelector(selector);\n };\n}","import { Selection } from \"./index.js\";\nimport selector from \"../selector.js\";\nexport default function (select) {\n if (typeof select !== \"function\") select = selector(select);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n return new Selection(subgroups, this._parents);\n}","export default function (x) {\n return typeof x === \"object\" && \"length\" in x ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}","function empty() {\n return [];\n}\nexport default function (selector) {\n return selector == null ? empty : function () {\n return this.querySelectorAll(selector);\n };\n}","import { Selection } from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\nfunction arrayAll(select) {\n return function () {\n var group = select.apply(this, arguments);\n return group == null ? [] : array(group);\n };\n}\nexport default function (select) {\n if (typeof select === \"function\") select = arrayAll(select);else select = selectorAll(select);\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n return new Selection(subgroups, parents);\n}","export default function (selector) {\n return function () {\n return this.matches(selector);\n };\n}\nexport function childMatcher(selector) {\n return function (node) {\n return node.matches(selector);\n };\n}","import { childMatcher } from \"../matcher.js\";\nvar find = Array.prototype.find;\nfunction childFind(match) {\n return function () {\n return find.call(this.children, match);\n };\n}\nfunction childFirst() {\n return this.firstElementChild;\n}\nexport default function (match) {\n return this.select(match == null ? childFirst : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}","import { childMatcher } from \"../matcher.js\";\nvar filter = Array.prototype.filter;\nfunction children() {\n return this.children;\n}\nfunction childrenFilter(match) {\n return function () {\n return filter.call(this.children, match);\n };\n}\nexport default function (match) {\n return this.selectAll(match == null ? children : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}","import { Selection } from \"./index.js\";\nimport matcher from \"../matcher.js\";\nexport default function (match) {\n if (typeof match !== \"function\") match = matcher(match);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n return new Selection(subgroups, this._parents);\n}","export default function (update) {\n return new Array(update.length);\n}","import sparse from \"./sparse.js\";\nimport { Selection } from \"./index.js\";\nexport default function () {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function (child) {\n return this._parent.insertBefore(child, this._next);\n },\n insertBefore: function (child, next) {\n return this._parent.insertBefore(child, next);\n },\n querySelector: function (selector) {\n return this._parent.querySelector(selector);\n },\n querySelectorAll: function (selector) {\n return this._parent.querySelectorAll(selector);\n }\n};","export default function (x) {\n return function () {\n return x;\n };\n}","import { Selection } from \"./index.js\";\nimport { EnterNode } from \"./enter.js\";\nimport array from \"../array.js\";\nimport constant from \"../constant.js\";\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map(),\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) {\n exit[i] = node;\n }\n }\n}\nfunction datum(node) {\n return node.__data__;\n}\nexport default function (value, key) {\n if (!arguments.length) return Array.from(this, datum);\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n if (typeof value !== \"function\") value = constant(value);\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = array(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}","import sparse from \"./sparse.js\";\nimport { Selection } from \"./index.js\";\nexport default function () {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}","export default function (onenter, onupdate, onexit) {\n var enter = this.enter(),\n update = this,\n exit = this.exit();\n enter = typeof onenter === \"function\" ? onenter(enter) : enter.append(onenter + \"\");\n if (onupdate != null) update = onupdate(update);\n if (onexit == null) exit.remove();else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}","import { Selection } from \"./index.js\";\nexport default function (selection) {\n if (!(selection instanceof Selection)) throw new Error(\"invalid merge\");\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n return new Selection(merges, this._parents);\n}","export default function () {\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n return this;\n}","import { Selection } from \"./index.js\";\nexport default function (compare) {\n if (!compare) compare = ascending;\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n return new Selection(sortgroups, this._parents).order();\n}\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}","export default function () {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}","export default function () {\n return Array.from(this);\n}","export default function () {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n return null;\n}","export default function () {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}","export default function () {\n return !this.node();\n}","export default function (callback) {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n return this;\n}","import namespace from \"../namespace.js\";\nfunction attrRemove(name) {\n return function () {\n this.removeAttribute(name);\n };\n}\nfunction attrRemoveNS(fullname) {\n return function () {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\nfunction attrConstant(name, value) {\n return function () {\n this.setAttribute(name, value);\n };\n}\nfunction attrConstantNS(fullname, value) {\n return function () {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\nfunction attrFunction(name, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);else this.setAttribute(name, v);\n };\n}\nfunction attrFunctionNS(fullname, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\nexport default function (name, value) {\n var fullname = namespace(name);\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname);\n }\n return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === \"function\" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value));\n}","export default function (node) {\n return node.ownerDocument && node.ownerDocument.defaultView // node is a Node\n || node.document && node // node is a Window\n || node.defaultView; // node is a Document\n}","import defaultView from \"../window.js\";\nfunction styleRemove(name) {\n return function () {\n this.style.removeProperty(name);\n };\n}\nfunction styleConstant(name, value, priority) {\n return function () {\n this.style.setProperty(name, value, priority);\n };\n}\nfunction styleFunction(name, value, priority) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);else this.style.setProperty(name, v, priority);\n };\n}\nexport default function (name, value, priority) {\n return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === \"function\" ? styleFunction : styleConstant)(name, value, priority == null ? \"\" : priority)) : styleValue(this.node(), name);\n}\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name) || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}","function propertyRemove(name) {\n return function () {\n delete this[name];\n };\n}\nfunction propertyConstant(name, value) {\n return function () {\n this[name] = value;\n };\n}\nfunction propertyFunction(name, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];else this[name] = v;\n };\n}\nexport default function (name, value) {\n return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === \"function\" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];\n}","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\nClassList.prototype = {\n add: function (name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function (name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function (name) {\n return this._names.indexOf(name) >= 0;\n }\n};\nfunction classedAdd(node, names) {\n var list = classList(node),\n i = -1,\n n = names.length;\n while (++i < n) list.add(names[i]);\n}\nfunction classedRemove(node, names) {\n var list = classList(node),\n i = -1,\n n = names.length;\n while (++i < n) list.remove(names[i]);\n}\nfunction classedTrue(names) {\n return function () {\n classedAdd(this, names);\n };\n}\nfunction classedFalse(names) {\n return function () {\n classedRemove(this, names);\n };\n}\nfunction classedFunction(names, value) {\n return function () {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\nexport default function (name, value) {\n var names = classArray(name + \"\");\n if (arguments.length < 2) {\n var list = classList(this.node()),\n i = -1,\n n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n return this.each((typeof value === \"function\" ? classedFunction : value ? classedTrue : classedFalse)(names, value));\n}","function textRemove() {\n this.textContent = \"\";\n}\nfunction textConstant(value) {\n return function () {\n this.textContent = value;\n };\n}\nfunction textFunction(value) {\n return function () {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\nexport default function (value) {\n return arguments.length ? this.each(value == null ? textRemove : (typeof value === \"function\" ? textFunction : textConstant)(value)) : this.node().textContent;\n}","function htmlRemove() {\n this.innerHTML = \"\";\n}\nfunction htmlConstant(value) {\n return function () {\n this.innerHTML = value;\n };\n}\nfunction htmlFunction(value) {\n return function () {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\nexport default function (value) {\n return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === \"function\" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML;\n}","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\nexport default function () {\n return this.each(raise);\n}","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\nexport default function () {\n return this.each(lower);\n}","import creator from \"../creator.js\";\nexport default function (name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function () {\n return this.appendChild(create.apply(this, arguments));\n });\n}","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\nfunction constantNull() {\n return null;\n}\nexport default function (name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function () {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\nexport default function () {\n return this.each(remove);\n}","function selection_cloneShallow() {\n var clone = this.cloneNode(false),\n parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true),\n parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\nexport default function (deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}","export default function (value) {\n return arguments.length ? this.property(\"__data__\", value) : this.node().__data__;\n}","function contextListener(listener) {\n return function (event) {\n listener.call(this, event, this.__data__);\n };\n}\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function (t) {\n var name = \"\",\n i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {\n type: t,\n name: name\n };\n });\n}\nfunction onRemove(typename) {\n return function () {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;else delete this.__on;\n };\n}\nfunction onAdd(typename, value, options) {\n return function () {\n var on = this.__on,\n o,\n listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {\n type: typename.type,\n name: typename.name,\n value: value,\n listener: listener,\n options: options\n };\n if (!on) this.__on = [o];else on.push(o);\n };\n}\nexport default function (typename, value, options) {\n var typenames = parseTypenames(typename + \"\"),\n i,\n n = typenames.length,\n t;\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}","import defaultView from \"../window.js\";\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;else event.initEvent(type, false, false);\n }\n node.dispatchEvent(event);\n}\nfunction dispatchConstant(type, params) {\n return function () {\n return dispatchEvent(this, type, params);\n };\n}\nfunction dispatchFunction(type, params) {\n return function () {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\nexport default function (type, params) {\n return this.each((typeof params === \"function\" ? dispatchFunction : dispatchConstant)(type, params));\n}","export default function* () {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\nexport var root = [null];\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\nfunction selection_selection() {\n return this;\n}\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\nexport default selection;","import { Selection, root } from \"./selection/index.js\";\nexport default function (selector) {\n return typeof selector === \"string\" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root);\n}","export default function (event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}","import sourceEvent from \"./sourceEvent.js\";\nexport default function (event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}","export { default as create } from \"./create.js\";\nexport { default as creator } from \"./creator.js\";\nexport { default as local } from \"./local.js\";\nexport { default as matcher } from \"./matcher.js\";\nexport { default as namespace } from \"./namespace.js\";\nexport { default as namespaces } from \"./namespaces.js\";\nexport { default as pointer } from \"./pointer.js\";\nexport { default as pointers } from \"./pointers.js\";\nexport { default as select } from \"./select.js\";\nexport { default as selectAll } from \"./selectAll.js\";\nexport { default as selection } from \"./selection/index.js\";\nexport { default as selector } from \"./selector.js\";\nexport { default as selectorAll } from \"./selectorAll.js\";\nexport { styleValue as style } from \"./selection/style.js\";\nexport { default as window } from \"./window.js\";","var noop = {\n value: () => {}\n};\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || t in _ || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\nfunction Dispatch(_) {\n this._ = _;\n}\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function (t) {\n var name = \"\",\n i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {\n type: t,\n name: name\n };\n });\n}\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function (typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n return this;\n },\n copy: function () {\n var copy = {},\n _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function (type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function (type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({\n name: name,\n value: callback\n });\n return type;\n}\nexport default dispatch;","export { default as dispatch } from \"./dispatch.js\";","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\nexport default function (event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}","import { select } from \"d3-selection\";\nimport noevent from \"./noevent.js\";\nexport default function (view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function () {\n selection.on(\"click.drag\", null);\n }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}","export { default as drag } from \"./drag.js\";\nexport { default as dragDisable, yesdrag as dragEnable } from \"./nodrag.js\";","export default function (constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}","import define, { extend } from \"./define.js\";\nexport function Color() {}\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\ndefine(Color, color, {\n copy: function (channels) {\n return Object.assign(new this.constructor(), this, channels);\n },\n displayable: function () {\n return this.rgb().displayable();\n },\n hex: color_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb(m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, (m & 0xf) << 4 | m & 0xf, 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba(m >> 12 & 0xf | m >> 8 & 0xf0, m >> 8 & 0xf | m >> 4 & 0xf0, m >> 4 & 0xf | m & 0xf0, ((m & 0xf) << 4 | m & 0xf) / 0xff) // #f000\n : null // invalid hex\n ) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0) : null;\n}\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb();\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\ndefine(Rgb, rgb, extend(Color, {\n brighter: function (k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function (k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function () {\n return this;\n },\n displayable: function () {\n return -0.5 <= this.r && this.r < 255.5 && -0.5 <= this.g && this.g < 255.5 && -0.5 <= this.b && this.b < 255.5 && 0 <= this.opacity && this.opacity <= 1;\n },\n hex: rgb_formatHex,\n // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\nfunction rgb_formatRgb() {\n var a = this.opacity;\n a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \" + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \" + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a === 1 ? \")\" : \", \" + a + \")\");\n}\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;else if (l <= 0 || l >= 1) h = s = NaN;else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl();\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;else if (g === max) h = (b - r) / s + 2;else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\ndefine(Hsl, hsl, extend(Color, {\n brighter: function (k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function (k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function () {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), hsl2rgb(h, m1, m2), hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), this.opacity);\n },\n displayable: function () {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;\n },\n formatHsl: function () {\n var a = this.opacity;\n a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\") + (this.h || 0) + \", \" + (this.s || 0) * 100 + \"%, \" + (this.l || 0) * 100 + \"%\" + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;\n}","export { default as color, rgb, hsl } from \"./color.js\";\nexport { default as lab, hcl, lch, gray } from \"./lab.js\";\nexport { default as cubehelix } from \"./cubehelix.js\";","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1,\n t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6;\n}\nexport default function (values) {\n var n = values.length - 1;\n return function (t) {\n var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}","import { basis } from \"./basis.js\";\nexport default function (values) {\n var n = values.length;\n return function (t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}","export default (x => () => x);","import constant from \"./constant.js\";\nfunction linear(a, d) {\n return function (t) {\n return a + t * d;\n };\n}\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function (t) {\n return Math.pow(a + t * b, y);\n };\n}\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function (a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}","import { rgb as colorRgb } from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, { gamma } from \"./color.js\";\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function (t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n rgb.gamma = rgbGamma;\n return rgb;\n})(1);\nfunction rgbSpline(spline) {\n return function (colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i,\n color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function (t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);","export default function (a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function (t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}","import value from \"./value.js\";\nimport numberArray, { isNumberArray } from \"./numberArray.js\";\nexport default function (a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n return function (t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}","export default function (a, b) {\n var d = new Date();\n return a = +a, b = +b, function (t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}","export default function (a, b) {\n return a = +a, b = +b, function (t) {\n return a * (1 - t) + b * t;\n };\n}","import value from \"./value.js\";\nexport default function (a, b) {\n var i = {},\n c = {},\n k;\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n return function (t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}","import number from \"./number.js\";\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\nfunction zero(b) {\n return function () {\n return b;\n };\n}\nfunction one(b) {\n return function (t) {\n return b(t) + \"\";\n };\n}\nexport default function (a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0,\n // scan index for next number in b\n am,\n // current match in a\n bm,\n // current match in b\n bs,\n // string preceding current number in b, if any\n i = -1,\n // index in s\n s = [],\n // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a)) && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) {\n // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) {\n // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else {\n // interpolate non-matching numbers\n s[++i] = null;\n q.push({\n i: i,\n x: number(am, bm)\n });\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function (t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}","import { color } from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport { genericArray } from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, { isNumberArray } from \"./numberArray.js\";\nexport default function (a, b) {\n var t = typeof b,\n c;\n return b == null || t === \"boolean\" ? constant(b) : (t === \"number\" ? number : t === \"string\" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object : number)(a, b);\n}","export default function (a, b) {\n return a = +a, b = +b, function (t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}","var degrees = 180 / Math.PI;\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\nexport default function (a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}","import decompose, { identity } from \"./decompose.js\";\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}","import number from \"../number.js\";\nimport { parseCss, parseSvg } from \"./parse.js\";\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({\n i: i - 4,\n x: number(xa, xb)\n }, {\n i: i - 2,\n x: number(ya, yb)\n });\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360;else if (b - a > 180) a += 360; // shortest path\n q.push({\n i: s.push(pop(s) + \"rotate(\", null, degParen) - 2,\n x: number(a, b)\n });\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({\n i: s.push(pop(s) + \"skewX(\", null, degParen) - 2,\n x: number(a, b)\n });\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({\n i: i - 4,\n x: number(xa, xb)\n }, {\n i: i - 2,\n x: number(ya, yb)\n });\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n return function (a, b) {\n var s = [],\n // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function (t) {\n var i = -1,\n n = q.length,\n o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");","export { default as interpolate } from \"./value.js\";\nexport { default as interpolateArray } from \"./array.js\";\nexport { default as interpolateBasis } from \"./basis.js\";\nexport { default as interpolateBasisClosed } from \"./basisClosed.js\";\nexport { default as interpolateDate } from \"./date.js\";\nexport { default as interpolateDiscrete } from \"./discrete.js\";\nexport { default as interpolateHue } from \"./hue.js\";\nexport { default as interpolateNumber } from \"./number.js\";\nexport { default as interpolateNumberArray } from \"./numberArray.js\";\nexport { default as interpolateObject } from \"./object.js\";\nexport { default as interpolateRound } from \"./round.js\";\nexport { default as interpolateString } from \"./string.js\";\nexport { interpolateTransformCss, interpolateTransformSvg } from \"./transform/index.js\";\nexport { default as interpolateZoom } from \"./zoom.js\";\nexport { default as interpolateRgb, rgbBasis as interpolateRgbBasis, rgbBasisClosed as interpolateRgbBasisClosed } from \"./rgb.js\";\nexport { default as interpolateHsl, hslLong as interpolateHslLong } from \"./hsl.js\";\nexport { default as interpolateLab } from \"./lab.js\";\nexport { default as interpolateHcl, hclLong as interpolateHclLong } from \"./hcl.js\";\nexport { default as interpolateCubehelix, cubehelixLong as interpolateCubehelixLong } from \"./cubehelix.js\";\nexport { default as piecewise } from \"./piecewise.js\";\nexport { default as quantize } from \"./quantize.js\";","var frame = 0,\n // is an animation frame pending?\n timeout = 0,\n // is a timeout pending?\n interval = 0,\n // are any timers active?\n pokeDelay = 1000,\n // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (f) {\n setTimeout(f, 17);\n };\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\nfunction clearNow() {\n clockNow = 0;\n}\nexport function Timer() {\n this._call = this._time = this._next = null;\n}\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function (callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function () {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\nexport function timer(callback, delay, time) {\n var t = new Timer();\n t.restart(callback, delay, time);\n return t;\n}\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead,\n e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\nfunction poke() {\n var now = clock.now(),\n delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\nfunction nap() {\n var t0,\n t1 = taskHead,\n t2,\n time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}","import { Timer } from \"./timer.js\";\nexport default function (callback, delay, time) {\n var t = new Timer();\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}","export { now, timer, timerFlush } from \"./timer.js\";\nexport { default as timeout } from \"./timeout.js\";\nexport { default as interval } from \"./interval.js\";","import { dispatch } from \"d3-dispatch\";\nimport { timer, timeout } from \"d3-timer\";\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\nexport default function (node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index,\n // For context during callback.\n group: group,\n // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function () {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}","import { STARTING, ENDING, ENDED } from \"./transition/schedule.js\";\nexport default function (node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n if (!schedules) return;\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) {\n empty = false;\n continue;\n }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n if (empty) delete node.__transition;\n}","import interrupt from \"../interrupt.js\";\nexport default function (name) {\n return this.each(function () {\n interrupt(this, name);\n });\n}","import { get, set } from \"./schedule.js\";\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function () {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n schedule.tween = tween1;\n };\n}\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error();\n return function () {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {\n name: name,\n value: value\n }, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n schedule.tween = tween1;\n };\n}\nexport default function (name, value) {\n var id = this._id;\n name += \"\";\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n transition.each(function () {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n return function (node) {\n return get(node, id).value[name];\n };\n}","import { color } from \"d3-color\";\nimport { interpolateNumber, interpolateRgb, interpolateString } from \"d3-interpolate\";\nexport default function (a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber : b instanceof color ? interpolateRgb : (c = color(b)) ? (b = c, interpolateRgb) : interpolateString)(a, b);\n}","import { interpolateTransformSvg as interpolateTransform } from \"d3-interpolate\";\nimport { namespace } from \"d3-selection\";\nimport { tweenValue } from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\nfunction attrRemove(name) {\n return function () {\n this.removeAttribute(name);\n };\n}\nfunction attrRemoveNS(fullname) {\n return function () {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function () {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function () {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\nfunction attrFunction(name, interpolate, value) {\n var string00, string10, interpolate0;\n return function () {\n var string0,\n value1 = value(this),\n string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00, string10, interpolate0;\n return function () {\n var string0,\n value1 = value(this),\n string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\nexport default function (name, value) {\n var fullname = namespace(name),\n i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\" ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value)) : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname) : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}","import { namespace } from \"d3-selection\";\nfunction attrInterpolate(name, i) {\n return function (t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\nfunction attrInterpolateNS(fullname, i) {\n return function (t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\nexport default function (name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error();\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}","import { get, init } from \"./schedule.js\";\nfunction delayFunction(id, value) {\n return function () {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\nfunction delayConstant(id, value) {\n return value = +value, function () {\n init(this, id).delay = value;\n };\n}\nexport default function (value) {\n var id = this._id;\n return arguments.length ? this.each((typeof value === \"function\" ? delayFunction : delayConstant)(id, value)) : get(this.node(), id).delay;\n}","import { get, set } from \"./schedule.js\";\nfunction durationFunction(id, value) {\n return function () {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\nfunction durationConstant(id, value) {\n return value = +value, function () {\n set(this, id).duration = value;\n };\n}\nexport default function (value) {\n var id = this._id;\n return arguments.length ? this.each((typeof value === \"function\" ? durationFunction : durationConstant)(id, value)) : get(this.node(), id).duration;\n}","import { get, set } from \"./schedule.js\";\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error();\n return function () {\n set(this, id).ease = value;\n };\n}\nexport default function (value) {\n var id = this._id;\n return arguments.length ? this.each(easeConstant(id, value)) : get(this.node(), id).ease;\n}","import { set } from \"./schedule.js\";\nfunction easeVarying(id, value) {\n return function () {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error();\n set(this, id).ease = v;\n };\n}\nexport default function (value) {\n if (typeof value !== \"function\") throw new Error();\n return this.each(easeVarying(this._id, value));\n}","import { matcher } from \"d3-selection\";\nimport { Transition } from \"./index.js\";\nexport default function (match) {\n if (typeof match !== \"function\") match = matcher(match);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n return new Transition(subgroups, this._parents, this._name, this._id);\n}","import { Transition } from \"./index.js\";\nexport default function (transition) {\n if (transition._id !== this._id) throw new Error();\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n return new Transition(merges, this._parents, this._name, this._id);\n}","import { get, set, init } from \"./schedule.js\";\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function (t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\nfunction onFunction(id, name, listener) {\n var on0,\n on1,\n sit = start(name) ? init : set;\n return function () {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n schedule.on = on1;\n };\n}\nexport default function (name, listener) {\n var id = this._id;\n return arguments.length < 2 ? get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener));\n}","function removeFunction(id) {\n return function () {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\nexport default function () {\n return this.on(\"end.remove\", removeFunction(this._id));\n}","import { selector } from \"d3-selection\";\nimport { Transition } from \"./index.js\";\nimport schedule, { get } from \"./schedule.js\";\nexport default function (select) {\n var name = this._name,\n id = this._id;\n if (typeof select !== \"function\") select = selector(select);\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n return new Transition(subgroups, this._parents, name, id);\n}","import { selectorAll } from \"d3-selection\";\nimport { Transition } from \"./index.js\";\nimport schedule, { get } from \"./schedule.js\";\nexport default function (select) {\n var name = this._name,\n id = this._id;\n if (typeof select !== \"function\") select = selectorAll(select);\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n return new Transition(subgroups, parents, name, id);\n}","import { selection } from \"d3-selection\";\nvar Selection = selection.prototype.constructor;\nexport default function () {\n return new Selection(this._groups, this._parents);\n}","import { interpolateTransformCss as interpolateTransform } from \"d3-interpolate\";\nimport { style } from \"d3-selection\";\nimport { set } from \"./schedule.js\";\nimport { tweenValue } from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\nfunction styleNull(name, interpolate) {\n var string00, string10, interpolate0;\n return function () {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\nfunction styleRemove(name) {\n return function () {\n this.style.removeProperty(name);\n };\n}\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function () {\n var string0 = style(this, name);\n return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\nfunction styleFunction(name, interpolate, value) {\n var string00, string10, interpolate0;\n return function () {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\nfunction styleMaybeRemove(id, name) {\n var on0,\n on1,\n listener0,\n key = \"style.\" + name,\n event = \"end.\" + key,\n remove;\n return function () {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n schedule.on = on1;\n };\n}\nexport default function (name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this.styleTween(name, styleNull(name, i)).on(\"end.style.\" + name, styleRemove(name)) : typeof value === \"function\" ? this.styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, styleConstant(name, i, value), priority).on(\"end.style.\" + name, null);\n}","function styleInterpolate(name, i, priority) {\n return function (t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\nexport default function (name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error();\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}","import { tweenValue } from \"./tween.js\";\nfunction textConstant(value) {\n return function () {\n this.textContent = value;\n };\n}\nfunction textFunction(value) {\n return function () {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\nexport default function (value) {\n return this.tween(\"text\", typeof value === \"function\" ? textFunction(tweenValue(this, \"text\", value)) : textConstant(value == null ? \"\" : value + \"\"));\n}","function textInterpolate(i) {\n return function (t) {\n this.textContent = i.call(this, t);\n };\n}\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\nexport default function (value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error();\n return this.tween(key, textTween(value));\n}","import { Transition, newId } from \"./index.js\";\nimport schedule, { get } from \"./schedule.js\";\nexport default function () {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n return new Transition(groups, this._parents, name, id1);\n}","import { set } from \"./schedule.js\";\nexport default function () {\n var on0,\n on1,\n that = this,\n id = that._id,\n size = that.size();\n return new Promise(function (resolve, reject) {\n var cancel = {\n value: reject\n },\n end = {\n value: function () {\n if (--size === 0) resolve();\n }\n };\n that.each(function () {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}","import { selection } from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\nvar id = 0;\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\nexport default function transition(name) {\n return selection().transition(name);\n}\nexport function newId() {\n return ++id;\n}\nvar selection_prototype = selection.prototype;\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};","export function cubicIn(t) {\n return t * t * t;\n}\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}","export { linear as easeLinear } from \"./linear.js\";\nexport { quadInOut as easeQuad, quadIn as easeQuadIn, quadOut as easeQuadOut, quadInOut as easeQuadInOut } from \"./quad.js\";\nexport { cubicInOut as easeCubic, cubicIn as easeCubicIn, cubicOut as easeCubicOut, cubicInOut as easeCubicInOut } from \"./cubic.js\";\nexport { polyInOut as easePoly, polyIn as easePolyIn, polyOut as easePolyOut, polyInOut as easePolyInOut } from \"./poly.js\";\nexport { sinInOut as easeSin, sinIn as easeSinIn, sinOut as easeSinOut, sinInOut as easeSinInOut } from \"./sin.js\";\nexport { expInOut as easeExp, expIn as easeExpIn, expOut as easeExpOut, expInOut as easeExpInOut } from \"./exp.js\";\nexport { circleInOut as easeCircle, circleIn as easeCircleIn, circleOut as easeCircleOut, circleInOut as easeCircleInOut } from \"./circle.js\";\nexport { bounceOut as easeBounce, bounceIn as easeBounceIn, bounceOut as easeBounceOut, bounceInOut as easeBounceInOut } from \"./bounce.js\";\nexport { backInOut as easeBack, backIn as easeBackIn, backOut as easeBackOut, backInOut as easeBackInOut } from \"./back.js\";\nexport { elasticOut as easeElastic, elasticIn as easeElasticIn, elasticOut as easeElasticOut, elasticInOut as easeElasticInOut } from \"./elastic.js\";","import { Transition, newId } from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport { easeCubicInOut } from \"d3-ease\";\nimport { now } from \"d3-timer\";\nvar defaultTiming = {\n time: null,\n // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\nexport default function (name) {\n var id, timing;\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n return new Transition(groups, this._parents, name, id);\n}","import { selection } from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;","import { Transition } from \"./transition/index.js\";\nimport { SCHEDULED } from \"./transition/schedule.js\";\nvar root = [null];\nexport default function (node, name) {\n var schedules = node.__transition,\n schedule,\n i;\n if (schedules) {\n name = name == null ? null : name + \"\";\n for (i in schedules) {\n if ((schedule = schedules[i]).state > SCHEDULED && schedule.name === name) {\n return new Transition([[node]], root, name, +i);\n }\n }\n }\n return null;\n}","import \"./selection/index.js\";\nexport { default as transition } from \"./transition/index.js\";\nexport { default as active } from \"./active.js\";\nexport { default as interrupt } from \"./interrupt.js\";","export default (x => () => x);","export default function BrushEvent(type, {\n sourceEvent,\n target,\n selection,\n mode,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {\n value: type,\n enumerable: true,\n configurable: true\n },\n sourceEvent: {\n value: sourceEvent,\n enumerable: true,\n configurable: true\n },\n target: {\n value: target,\n enumerable: true,\n configurable: true\n },\n selection: {\n value: selection,\n enumerable: true,\n configurable: true\n },\n mode: {\n value: mode,\n enumerable: true,\n configurable: true\n },\n _: {\n value: dispatch\n }\n });\n}","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\nexport default function (event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}","import { dispatch } from \"d3-dispatch\";\nimport { dragDisable, dragEnable } from \"d3-drag\";\nimport { interpolate } from \"d3-interpolate\";\nimport { pointer, select } from \"d3-selection\";\nimport { interrupt } from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport BrushEvent from \"./event.js\";\nimport noevent, { nopropagation } from \"./noevent.js\";\nvar MODE_DRAG = {\n name: \"drag\"\n },\n MODE_SPACE = {\n name: \"space\"\n },\n MODE_HANDLE = {\n name: \"handle\"\n },\n MODE_CENTER = {\n name: \"center\"\n };\nconst {\n abs,\n max,\n min\n} = Math;\nfunction number1(e) {\n return [+e[0], +e[1]];\n}\nfunction number2(e) {\n return [number1(e[0]), number1(e[1])];\n}\nvar X = {\n name: \"x\",\n handles: [\"w\", \"e\"].map(type),\n input: function (x, e) {\n return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]];\n },\n output: function (xy) {\n return xy && [xy[0][0], xy[1][0]];\n }\n};\nvar Y = {\n name: \"y\",\n handles: [\"n\", \"s\"].map(type),\n input: function (y, e) {\n return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]];\n },\n output: function (xy) {\n return xy && [xy[0][1], xy[1][1]];\n }\n};\nvar XY = {\n name: \"xy\",\n handles: [\"n\", \"w\", \"e\", \"s\", \"nw\", \"ne\", \"sw\", \"se\"].map(type),\n input: function (xy) {\n return xy == null ? null : number2(xy);\n },\n output: function (xy) {\n return xy;\n }\n};\nvar cursors = {\n overlay: \"crosshair\",\n selection: \"move\",\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n};\nvar flipX = {\n e: \"w\",\n w: \"e\",\n nw: \"ne\",\n ne: \"nw\",\n se: \"sw\",\n sw: \"se\"\n};\nvar flipY = {\n n: \"s\",\n s: \"n\",\n nw: \"sw\",\n ne: \"se\",\n se: \"ne\",\n sw: \"nw\"\n};\nvar signsX = {\n overlay: +1,\n selection: +1,\n n: null,\n e: +1,\n s: null,\n w: -1,\n nw: -1,\n ne: +1,\n se: +1,\n sw: -1\n};\nvar signsY = {\n overlay: +1,\n selection: +1,\n n: -1,\n e: null,\n s: +1,\n w: null,\n nw: -1,\n ne: -1,\n se: +1,\n sw: +1\n};\nfunction type(t) {\n return {\n type: t\n };\n}\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter(event) {\n return !event.ctrlKey && !event.button;\n}\nfunction defaultExtent() {\n var svg = this.ownerSVGElement || this;\n if (svg.hasAttribute(\"viewBox\")) {\n svg = svg.viewBox.baseVal;\n return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]];\n }\n return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]];\n}\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || \"ontouchstart\" in this;\n}\n\n// Like d3.local, but with the name “__brush” rather than auto-generated.\nfunction local(node) {\n while (!node.__brush) if (!(node = node.parentNode)) return;\n return node.__brush;\n}\nfunction empty(extent) {\n return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1];\n}\nexport function brushSelection(node) {\n var state = node.__brush;\n return state ? state.dim.output(state.selection) : null;\n}\nexport function brushX() {\n return brush(X);\n}\nexport function brushY() {\n return brush(Y);\n}\nexport default function () {\n return brush(XY);\n}\nfunction brush(dim) {\n var extent = defaultExtent,\n filter = defaultFilter,\n touchable = defaultTouchable,\n keys = true,\n listeners = dispatch(\"start\", \"brush\", \"end\"),\n handleSize = 6,\n touchending;\n function brush(group) {\n var overlay = group.property(\"__brush\", initialize).selectAll(\".overlay\").data([type(\"overlay\")]);\n overlay.enter().append(\"rect\").attr(\"class\", \"overlay\").attr(\"pointer-events\", \"all\").attr(\"cursor\", cursors.overlay).merge(overlay).each(function () {\n var extent = local(this).extent;\n select(this).attr(\"x\", extent[0][0]).attr(\"y\", extent[0][1]).attr(\"width\", extent[1][0] - extent[0][0]).attr(\"height\", extent[1][1] - extent[0][1]);\n });\n group.selectAll(\".selection\").data([type(\"selection\")]).enter().append(\"rect\").attr(\"class\", \"selection\").attr(\"cursor\", cursors.selection).attr(\"fill\", \"#777\").attr(\"fill-opacity\", 0.3).attr(\"stroke\", \"#fff\").attr(\"shape-rendering\", \"crispEdges\");\n var handle = group.selectAll(\".handle\").data(dim.handles, function (d) {\n return d.type;\n });\n handle.exit().remove();\n handle.enter().append(\"rect\").attr(\"class\", function (d) {\n return \"handle handle--\" + d.type;\n }).attr(\"cursor\", function (d) {\n return cursors[d.type];\n });\n group.each(redraw).attr(\"fill\", \"none\").attr(\"pointer-events\", \"all\").on(\"mousedown.brush\", started).filter(touchable).on(\"touchstart.brush\", started).on(\"touchmove.brush\", touchmoved).on(\"touchend.brush touchcancel.brush\", touchended).style(\"touch-action\", \"none\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n brush.move = function (group, selection) {\n if (group.tween) {\n group.on(\"start.brush\", function (event) {\n emitter(this, arguments).beforestart().start(event);\n }).on(\"interrupt.brush end.brush\", function (event) {\n emitter(this, arguments).end(event);\n }).tween(\"brush\", function () {\n var that = this,\n state = that.__brush,\n emit = emitter(that, arguments),\n selection0 = state.selection,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(this, arguments) : selection, state.extent),\n i = interpolate(selection0, selection1);\n function tween(t) {\n state.selection = t === 1 && selection1 === null ? null : i(t);\n redraw.call(that);\n emit.brush();\n }\n return selection0 !== null && selection1 !== null ? tween : tween(1);\n });\n } else {\n group.each(function () {\n var that = this,\n args = arguments,\n state = that.__brush,\n selection1 = dim.input(typeof selection === \"function\" ? selection.apply(that, args) : selection, state.extent),\n emit = emitter(that, args).beforestart();\n interrupt(that);\n state.selection = selection1 === null ? null : selection1;\n redraw.call(that);\n emit.start().brush().end();\n });\n }\n };\n brush.clear = function (group) {\n brush.move(group, null);\n };\n function redraw() {\n var group = select(this),\n selection = local(this).selection;\n if (selection) {\n group.selectAll(\".selection\").style(\"display\", null).attr(\"x\", selection[0][0]).attr(\"y\", selection[0][1]).attr(\"width\", selection[1][0] - selection[0][0]).attr(\"height\", selection[1][1] - selection[0][1]);\n group.selectAll(\".handle\").style(\"display\", null).attr(\"x\", function (d) {\n return d.type[d.type.length - 1] === \"e\" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2;\n }).attr(\"y\", function (d) {\n return d.type[0] === \"s\" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2;\n }).attr(\"width\", function (d) {\n return d.type === \"n\" || d.type === \"s\" ? selection[1][0] - selection[0][0] + handleSize : handleSize;\n }).attr(\"height\", function (d) {\n return d.type === \"e\" || d.type === \"w\" ? selection[1][1] - selection[0][1] + handleSize : handleSize;\n });\n } else {\n group.selectAll(\".selection,.handle\").style(\"display\", \"none\").attr(\"x\", null).attr(\"y\", null).attr(\"width\", null).attr(\"height\", null);\n }\n }\n function emitter(that, args, clean) {\n var emit = that.__brush.emitter;\n return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);\n }\n function Emitter(that, args, clean) {\n this.that = that;\n this.args = args;\n this.state = that.__brush;\n this.active = 0;\n this.clean = clean;\n }\n Emitter.prototype = {\n beforestart: function () {\n if (++this.active === 1) this.state.emitter = this, this.starting = true;\n return this;\n },\n start: function (event, mode) {\n if (this.starting) this.starting = false, this.emit(\"start\", event, mode);else this.emit(\"brush\", event);\n return this;\n },\n brush: function (event, mode) {\n this.emit(\"brush\", event, mode);\n return this;\n },\n end: function (event, mode) {\n if (--this.active === 0) delete this.state.emitter, this.emit(\"end\", event, mode);\n return this;\n },\n emit: function (type, event, mode) {\n var d = select(this.that).datum();\n listeners.call(type, this.that, new BrushEvent(type, {\n sourceEvent: event,\n target: brush,\n selection: dim.output(this.state.selection),\n mode,\n dispatch: listeners\n }), d);\n }\n };\n function started(event) {\n if (touchending && !event.touches) return;\n if (!filter.apply(this, arguments)) return;\n var that = this,\n type = event.target.__data__.type,\n mode = (keys && event.metaKey ? type = \"overlay\" : type) === \"selection\" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE,\n signX = dim === Y ? null : signsX[type],\n signY = dim === X ? null : signsY[type],\n state = local(that),\n extent = state.extent,\n selection = state.selection,\n W = extent[0][0],\n w0,\n w1,\n N = extent[0][1],\n n0,\n n1,\n E = extent[1][0],\n e0,\n e1,\n S = extent[1][1],\n s0,\n s1,\n dx = 0,\n dy = 0,\n moving,\n shifting = signX && signY && keys && event.shiftKey,\n lockX,\n lockY,\n points = Array.from(event.touches || [event], t => {\n const i = t.identifier;\n t = pointer(t, that);\n t.point0 = t.slice();\n t.identifier = i;\n return t;\n });\n if (type === \"overlay\") {\n if (selection) moving = true;\n const pts = [points[0], points[1] || points[0]];\n state.selection = selection = [[w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), n0 = dim === X ? N : min(pts[0][1], pts[1][1])], [e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), s0 = dim === X ? S : max(pts[0][1], pts[1][1])]];\n if (points.length > 1) move();\n } else {\n w0 = selection[0][0];\n n0 = selection[0][1];\n e0 = selection[1][0];\n s0 = selection[1][1];\n }\n w1 = w0;\n n1 = n0;\n e1 = e0;\n s1 = s0;\n var group = select(that).attr(\"pointer-events\", \"none\");\n var overlay = group.selectAll(\".overlay\").attr(\"cursor\", cursors[type]);\n interrupt(that);\n var emit = emitter(that, arguments, true).beforestart();\n if (event.touches) {\n emit.moved = moved;\n emit.ended = ended;\n } else {\n var view = select(event.view).on(\"mousemove.brush\", moved, true).on(\"mouseup.brush\", ended, true);\n if (keys) view.on(\"keydown.brush\", keydowned, true).on(\"keyup.brush\", keyupped, true);\n dragDisable(event.view);\n }\n redraw.call(that);\n emit.start(event, mode.name);\n function moved(event) {\n for (const p of event.changedTouches || [event]) {\n for (const d of points) if (d.identifier === p.identifier) d.cur = pointer(p, that);\n }\n if (shifting && !lockX && !lockY && points.length === 1) {\n const point = points[0];\n if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) lockY = true;else lockX = true;\n }\n for (const point of points) if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1];\n moving = true;\n noevent(event);\n move(event);\n }\n function move(event) {\n const point = points[0],\n point0 = point.point0;\n var t;\n dx = point[0] - point0[0];\n dy = point[1] - point0[1];\n switch (mode) {\n case MODE_SPACE:\n case MODE_DRAG:\n {\n if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;\n if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;\n break;\n }\n case MODE_HANDLE:\n {\n if (points[1]) {\n if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1;\n if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1;\n } else {\n if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0;else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx;\n if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0;else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy;\n }\n break;\n }\n case MODE_CENTER:\n {\n if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX));\n if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY));\n break;\n }\n }\n if (e1 < w1) {\n signX *= -1;\n t = w0, w0 = e0, e0 = t;\n t = w1, w1 = e1, e1 = t;\n if (type in flipX) overlay.attr(\"cursor\", cursors[type = flipX[type]]);\n }\n if (s1 < n1) {\n signY *= -1;\n t = n0, n0 = s0, s0 = t;\n t = n1, n1 = s1, s1 = t;\n if (type in flipY) overlay.attr(\"cursor\", cursors[type = flipY[type]]);\n }\n if (state.selection) selection = state.selection; // May be set by brush.move!\n if (lockX) w1 = selection[0][0], e1 = selection[1][0];\n if (lockY) n1 = selection[0][1], s1 = selection[1][1];\n if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) {\n state.selection = [[w1, n1], [e1, s1]];\n redraw.call(that);\n emit.brush(event, mode.name);\n }\n }\n function ended(event) {\n nopropagation(event);\n if (event.touches) {\n if (event.touches.length) return;\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function () {\n touchending = null;\n }, 500); // Ghost clicks are delayed!\n } else {\n dragEnable(event.view, moving);\n view.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\", null);\n }\n group.attr(\"pointer-events\", \"all\");\n overlay.attr(\"cursor\", cursors.overlay);\n if (state.selection) selection = state.selection; // May be set by brush.move (on start)!\n if (empty(selection)) state.selection = null, redraw.call(that);\n emit.end(event, mode.name);\n }\n function keydowned(event) {\n switch (event.keyCode) {\n case 16:\n {\n // SHIFT\n shifting = signX && signY;\n break;\n }\n case 18:\n {\n // ALT\n if (mode === MODE_HANDLE) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n move();\n }\n break;\n }\n case 32:\n {\n // SPACE; takes priority over ALT\n if (mode === MODE_HANDLE || mode === MODE_CENTER) {\n if (signX < 0) e0 = e1 - dx;else if (signX > 0) w0 = w1 - dx;\n if (signY < 0) s0 = s1 - dy;else if (signY > 0) n0 = n1 - dy;\n mode = MODE_SPACE;\n overlay.attr(\"cursor\", cursors.selection);\n move();\n }\n break;\n }\n default:\n return;\n }\n noevent(event);\n }\n function keyupped(event) {\n switch (event.keyCode) {\n case 16:\n {\n // SHIFT\n if (shifting) {\n lockX = lockY = shifting = false;\n move();\n }\n break;\n }\n case 18:\n {\n // ALT\n if (mode === MODE_CENTER) {\n if (signX < 0) e0 = e1;else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1;else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n move();\n }\n break;\n }\n case 32:\n {\n // SPACE\n if (mode === MODE_SPACE) {\n if (event.altKey) {\n if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX;\n if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY;\n mode = MODE_CENTER;\n } else {\n if (signX < 0) e0 = e1;else if (signX > 0) w0 = w1;\n if (signY < 0) s0 = s1;else if (signY > 0) n0 = n1;\n mode = MODE_HANDLE;\n }\n overlay.attr(\"cursor\", cursors[type]);\n move();\n }\n break;\n }\n default:\n return;\n }\n noevent(event);\n }\n }\n function touchmoved(event) {\n emitter(this, arguments).moved(event);\n }\n function touchended(event) {\n emitter(this, arguments).ended(event);\n }\n function initialize() {\n var state = this.__brush || {\n selection: null\n };\n state.extent = number2(extent.apply(this, arguments));\n state.dim = dim;\n return state;\n }\n brush.extent = function (_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant(number2(_)), brush) : extent;\n };\n brush.filter = function (_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), brush) : filter;\n };\n brush.touchable = function (_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), brush) : touchable;\n };\n brush.handleSize = function (_) {\n return arguments.length ? (handleSize = +_, brush) : handleSize;\n };\n brush.keyModifiers = function (_) {\n return arguments.length ? (keys = !!_, brush) : keys;\n };\n brush.on = function () {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? brush : value;\n };\n return brush;\n}","export { default as brush, brushX, brushY, brushSelection } from \"./brush.js\";","export default function (a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}","import ascending from \"./ascending.js\";\nexport default function (f) {\n let delta = f;\n let compare = f;\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;else hi = mid;\n }\n return lo;\n }\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;else lo = mid + 1;\n }\n return lo;\n }\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n return {\n left,\n center,\n right\n };\n}\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}","export default function (x) {\n return x === null ? NaN : +x;\n}\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\nexport default function (start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n if (step > 0) {\n let r0 = Math.round(start / step),\n r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step),\n r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n if (reverse) ticks.reverse();\n return ticks;\n}\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0 ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power) : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;else if (error >= e5) step1 *= 5;else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (max < value || max === undefined && value >= value)) {\n max = value;\n }\n }\n }\n return max;\n}","import max from \"./max.js\";\nimport min from \"./min.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, { numbers } from \"./number.js\";\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length)) return;\n if ((p = +p) <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}","export default function (start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n while (++i < n) {\n range[i] = start + i * step;\n }\n return range;\n}","export { default as bisect, bisectRight, bisectLeft, bisectCenter } from \"./bisect.js\";\nexport { default as ascending } from \"./ascending.js\";\nexport { default as bisector } from \"./bisector.js\";\nexport { default as count } from \"./count.js\";\nexport { default as cross } from \"./cross.js\";\nexport { default as cumsum } from \"./cumsum.js\";\nexport { default as descending } from \"./descending.js\";\nexport { default as deviation } from \"./deviation.js\";\nexport { default as extent } from \"./extent.js\";\nexport { Adder, fsum, fcumsum } from \"./fsum.js\";\nexport { default as group, groups, index, indexes, rollup, rollups } from \"./group.js\";\nexport { default as groupSort } from \"./groupSort.js\";\nexport { default as bin, default as histogram } from \"./bin.js\"; // Deprecated; use bin.\nexport { default as thresholdFreedmanDiaconis } from \"./threshold/freedmanDiaconis.js\";\nexport { default as thresholdScott } from \"./threshold/scott.js\";\nexport { default as thresholdSturges } from \"./threshold/sturges.js\";\nexport { default as max } from \"./max.js\";\nexport { default as maxIndex } from \"./maxIndex.js\";\nexport { default as mean } from \"./mean.js\";\nexport { default as median } from \"./median.js\";\nexport { default as merge } from \"./merge.js\";\nexport { default as min } from \"./min.js\";\nexport { default as minIndex } from \"./minIndex.js\";\nexport { default as nice } from \"./nice.js\";\nexport { default as pairs } from \"./pairs.js\";\nexport { default as permute } from \"./permute.js\";\nexport { default as quantile, quantileSorted } from \"./quantile.js\";\nexport { default as quickselect } from \"./quickselect.js\";\nexport { default as range } from \"./range.js\";\nexport { default as least } from \"./least.js\";\nexport { default as leastIndex } from \"./leastIndex.js\";\nexport { default as greatest } from \"./greatest.js\";\nexport { default as greatestIndex } from \"./greatestIndex.js\";\nexport { default as scan } from \"./scan.js\"; // Deprecated; use leastIndex.\nexport { default as shuffle, shuffler } from \"./shuffle.js\";\nexport { default as sum } from \"./sum.js\";\nexport { default as ticks, tickIncrement, tickStep } from \"./ticks.js\";\nexport { default as transpose } from \"./transpose.js\";\nexport { default as variance } from \"./variance.js\";\nexport { default as zip } from \"./zip.js\";\nexport { default as every } from \"./every.js\";\nexport { default as some } from \"./some.js\";\nexport { default as filter } from \"./filter.js\";\nexport { default as map } from \"./map.js\";\nexport { default as reduce } from \"./reduce.js\";\nexport { default as reverse } from \"./reverse.js\";\nexport { default as sort } from \"./sort.js\";\nexport { default as difference } from \"./difference.js\";\nexport { default as disjoint } from \"./disjoint.js\";\nexport { default as intersection } from \"./intersection.js\";\nexport { default as subset } from \"./subset.js\";\nexport { default as superset } from \"./superset.js\";\nexport { default as union } from \"./union.js\";\nexport { InternMap, InternSet } from \"internmap\";","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0:\n break;\n case 1:\n this.range(domain);\n break;\n default:\n this.range(range).domain(domain);\n break;\n }\n return this;\n}\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0:\n break;\n case 1:\n {\n if (typeof domain === \"function\") this.interpolator(domain);else this.range(domain);\n break;\n }\n default:\n {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);else this.range(interpolator);\n break;\n }\n }\n return this;\n}","import { initRange } from \"./init.js\";\nexport const implicit = Symbol(\"implicit\");\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n function scale(d) {\n var key = d + \"\",\n i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.copy = function () {\n return ordinal(domain, range).unknown(unknown);\n };\n initRange.apply(scale, arguments);\n return scale;\n}","import { range as sequence } from \"d3-array\";\nimport { initRange } from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n delete scale.unknown;\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function (i) {\n return start + step * i;\n });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n scale.domain = function (_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n scale.range = function (_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n scale.rangeRound = function (_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n scale.bandwidth = function () {\n return bandwidth;\n };\n scale.step = function () {\n return step;\n };\n scale.round = function (_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n scale.padding = function (_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n scale.paddingInner = function (_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n scale.paddingOuter = function (_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n scale.align = function (_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n scale.copy = function () {\n return band(domain(), [r0, r1]).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);\n };\n return initRange.apply(rescale(), arguments);\n}\nfunction pointish(scale) {\n var copy = scale.copy;\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n scale.copy = function () {\n return pointish(copy());\n };\n return scale;\n}\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}","export default function constants(x) {\n return function () {\n return x;\n };\n}","export default function number(x) {\n return +x;\n}","import { bisect } from \"d3-array\";\nimport { interpolate as interpolateValue, interpolateNumber, interpolateRound } from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\nvar unit = [0, 1];\nexport function identity(x) {\n return x;\n}\nfunction normalize(a, b) {\n return (b -= a = +a) ? function (x) {\n return (x - a) / b;\n } : constant(isNaN(b) ? NaN : 0.5);\n}\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function (x) {\n return Math.max(a, Math.min(b, x));\n };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0],\n d1 = domain[1],\n r0 = range[0],\n r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function (x) {\n return r0(d0(x));\n };\n}\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n return function (x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\nexport function copy(source, target) {\n return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());\n}\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n scale.invert = function (y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n scale.domain = function (_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n scale.rangeRound = function (_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n scale.clamp = function (_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n scale.interpolate = function (_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n return function (t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\nexport default function continuous() {\n return transformer()(identity, identity);\n}","export default function (x) {\n return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString(\"en\").replace(/,/g, \"\") : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i,\n coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, +x.slice(i + 1)];\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport default function (x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}","export default function (grouping, thousands) {\n return function (value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n return t.reverse().join(thousands);\n };\n}","export default function (numerals) {\n return function (value) {\n return value.replace(/[0-9]/g, function (i) {\n return numerals[+i];\n });\n };\n}","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\nFormatSpecifier.prototype.toString = function () {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === undefined ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n};","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function (s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\":\n i0 = i1 = i;\n break;\n case \"0\":\n if (i0 === 0) i0 = i;\n i1 = i;\n break;\n default:\n if (!+s[i]) break out;\n if (i0 > 0) i0 = 0;\n break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport var prefixExponent;\nexport default function (x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join(\"0\") : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}","import { formatDecimalParts } from \"./formatDecimal.js\";\nexport default function (x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": x => Math.round(x).toString(2),\n \"c\": x => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": x => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": x => Math.round(x).toString(16).toUpperCase(),\n \"x\": x => Math.round(x).toString(16)\n};","export default function (x) {\n return x;\n}","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport { prefixExponent } from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\nvar map = Array.prototype.map,\n prefixes = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\nexport default function (locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || fill === \"0\" && align === \"=\") zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision));\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i,\n n,\n c;\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? sign === \"(\" ? sign : minus : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\":\n value = valuePrefix + value + valueSuffix + padding;\n break;\n case \"=\":\n value = valuePrefix + padding + value + valueSuffix;\n break;\n case \"^\":\n value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length);\n break;\n default:\n value = padding + valuePrefix + value + valueSuffix;\n break;\n }\n return numerals(value);\n }\n format.toString = function () {\n return specifier + \"\";\n };\n return format;\n }\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function (value) {\n return f(k * value) + prefix;\n };\n }\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}","import formatLocale from \"./locale.js\";\nvar locale;\nexport var format;\nexport var formatPrefix;\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}","import exponent from \"./exponent.js\";\nexport default function (step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}","import exponent from \"./exponent.js\";\nexport default function (step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}","import exponent from \"./exponent.js\";\nexport default function (step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}","export { default as formatDefaultLocale, format, formatPrefix } from \"./defaultLocale.js\";\nexport { default as formatLocale } from \"./locale.js\";\nexport { default as formatSpecifier, FormatSpecifier } from \"./formatSpecifier.js\";\nexport { default as precisionFixed } from \"./precisionFixed.js\";\nexport { default as precisionPrefix } from \"./precisionPrefix.js\";\nexport { default as precisionRound } from \"./precisionRound.js\";","import { tickStep } from \"d3-array\";\nimport { format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound } from \"d3-format\";\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\":\n {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\":\n {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\":\n {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}","import { ticks, tickIncrement } from \"d3-array\";\nimport continuous, { copy } from \"./continuous.js\";\nimport { initRange } from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\nexport function linearish(scale) {\n var domain = scale.domain;\n scale.ticks = function (count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n scale.tickFormat = function (count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n scale.nice = function (count) {\n if (count == null) count = 10;\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start;\n d[i1] = stop;\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n return scale;\n };\n return scale;\n}\nexport default function linear() {\n var scale = continuous();\n scale.copy = function () {\n return copy(scale, linear());\n };\n initRange.apply(scale, arguments);\n return linearish(scale);\n}","export default function nice(domain, interval) {\n domain = domain.slice();\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}","import { ascending, bisect, quantileSorted as threshold } from \"d3-array\";\nimport { initRange } from \"./init.js\";\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n function rescale() {\n var i = 0,\n n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n scale.invertExtent = function (y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [i > 0 ? thresholds[i - 1] : domain[0], i < thresholds.length ? thresholds[i] : domain[domain.length - 1]];\n };\n scale.domain = function (_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n scale.range = function (_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n scale.unknown = function (_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n scale.quantiles = function () {\n return thresholds.slice();\n };\n scale.copy = function () {\n return quantile().domain(domain).range(range).unknown(unknown);\n };\n return initRange.apply(scale, arguments);\n}","var t0 = new Date(),\n t1 = new Date();\nexport default function newInterval(floori, offseti, count, field) {\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date() : new Date(+date)), date;\n }\n interval.floor = function (date) {\n return floori(date = new Date(+date)), date;\n };\n interval.ceil = function (date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n interval.round = function (date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n interval.offset = function (date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n interval.range = function (start, stop, step) {\n var range = [],\n previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start); while (previous < start && start < stop);\n return range;\n };\n interval.filter = function (test) {\n return newInterval(function (date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function (date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n if (count) {\n interval.count = function (start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n interval.every = function (step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null : !(step > 1) ? interval : interval.filter(field ? function (d) {\n return field(d) % step === 0;\n } : function (d) {\n return interval.count(0, d) % step === 0;\n });\n };\n }\n return interval;\n}","import interval from \"./interval.js\";\nvar millisecond = interval(function () {\n // noop\n}, function (date, step) {\n date.setTime(+date + step);\n}, function (start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function (k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function (date) {\n date.setTime(Math.floor(date / k) * k);\n }, function (date, step) {\n date.setTime(+date + step * k);\n }, function (start, end) {\n return (end - start) / k;\n });\n};\nexport default millisecond;\nexport var milliseconds = millisecond.range;","import interval from \"./interval.js\";\nimport { durationSecond } from \"./duration.js\";\nvar second = interval(function (date) {\n date.setTime(date - date.getMilliseconds());\n}, function (date, step) {\n date.setTime(+date + step * durationSecond);\n}, function (start, end) {\n return (end - start) / durationSecond;\n}, function (date) {\n return date.getUTCSeconds();\n});\nexport default second;\nexport var seconds = second.range;","import interval from \"./interval.js\";\nimport { durationMinute, durationSecond } from \"./duration.js\";\nvar minute = interval(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function (date, step) {\n date.setTime(+date + step * durationMinute);\n}, function (start, end) {\n return (end - start) / durationMinute;\n}, function (date) {\n return date.getMinutes();\n});\nexport default minute;\nexport var minutes = minute.range;","import interval from \"./interval.js\";\nimport { durationHour, durationMinute, durationSecond } from \"./duration.js\";\nvar hour = interval(function (date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function (date, step) {\n date.setTime(+date + step * durationHour);\n}, function (start, end) {\n return (end - start) / durationHour;\n}, function (date) {\n return date.getHours();\n});\nexport default hour;\nexport var hours = hour.range;","import interval from \"./interval.js\";\nimport { durationDay, durationMinute } from \"./duration.js\";\nvar day = interval(date => date.setHours(0, 0, 0, 0), (date, step) => date.setDate(date.getDate() + step), (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay, date => date.getDate() - 1);\nexport default day;\nexport var days = day.range;","import interval from \"./interval.js\";\nimport { durationMinute, durationWeek } from \"./duration.js\";\nfunction weekday(i) {\n return interval(function (date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function (start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;","import interval from \"./interval.js\";\nvar month = interval(function (date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setMonth(date.getMonth() + step);\n}, function (start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function (date) {\n return date.getMonth();\n});\nexport default month;\nexport var months = month.range;","import interval from \"./interval.js\";\nvar year = interval(function (date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function (start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function (date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function (k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function (date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\nexport default year;\nexport var years = year.range;","import interval from \"./interval.js\";\nimport { durationMinute } from \"./duration.js\";\nvar utcMinute = interval(function (date) {\n date.setUTCSeconds(0, 0);\n}, function (date, step) {\n date.setTime(+date + step * durationMinute);\n}, function (start, end) {\n return (end - start) / durationMinute;\n}, function (date) {\n return date.getUTCMinutes();\n});\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;","import interval from \"./interval.js\";\nimport { durationHour } from \"./duration.js\";\nvar utcHour = interval(function (date) {\n date.setUTCMinutes(0, 0, 0);\n}, function (date, step) {\n date.setTime(+date + step * durationHour);\n}, function (start, end) {\n return (end - start) / durationHour;\n}, function (date) {\n return date.getUTCHours();\n});\nexport default utcHour;\nexport var utcHours = utcHour.range;","import interval from \"./interval.js\";\nimport { durationDay } from \"./duration.js\";\nvar utcDay = interval(function (date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function (start, end) {\n return (end - start) / durationDay;\n}, function (date) {\n return date.getUTCDate() - 1;\n});\nexport default utcDay;\nexport var utcDays = utcDay.range;","import interval from \"./interval.js\";\nimport { durationWeek } from \"./duration.js\";\nfunction utcWeekday(i) {\n return interval(function (date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function (start, end) {\n return (end - start) / durationWeek;\n });\n}\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;","import interval from \"./interval.js\";\nvar utcMonth = interval(function (date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function (start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function (date) {\n return date.getUTCMonth();\n});\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;","import interval from \"./interval.js\";\nvar utcYear = interval(function (date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function (date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function (start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function (date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function (k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function (date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function (date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\nexport default utcYear;\nexport var utcYears = utcYear.range;","import { bisector, tickStep } from \"d3-array\";\nimport { durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear } from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport { sunday as week } from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport { utcSunday as utcWeek } from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\nfunction ticker(year, month, week, day, hour, minute) {\n const tickIntervals = [[second, 1, durationSecond], [second, 5, 5 * durationSecond], [second, 15, 15 * durationSecond], [second, 30, 30 * durationSecond], [minute, 1, durationMinute], [minute, 5, 5 * durationMinute], [minute, 15, 15 * durationMinute], [minute, 30, 30 * durationMinute], [hour, 1, durationHour], [hour, 3, 3 * durationHour], [hour, 6, 6 * durationHour], [hour, 12, 12 * durationHour], [day, 1, durationDay], [day, 2, 2 * durationDay], [week, 1, durationWeek], [month, 1, durationMonth], [month, 3, 3 * durationMonth], [year, 1, durationYear]];\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n return [ticks, tickInterval];\n}\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\nexport { utcTicks, utcTickInterval, timeTicks, timeTickInterval };","export { default as timeInterval } from \"./interval.js\";\nexport { default as timeMillisecond, milliseconds as timeMilliseconds, default as utcMillisecond, milliseconds as utcMilliseconds } from \"./millisecond.js\";\nexport { default as timeSecond, seconds as timeSeconds, default as utcSecond, seconds as utcSeconds } from \"./second.js\";\nexport { default as timeMinute, minutes as timeMinutes } from \"./minute.js\";\nexport { default as timeHour, hours as timeHours } from \"./hour.js\";\nexport { default as timeDay, days as timeDays } from \"./day.js\";\nexport { sunday as timeWeek, sundays as timeWeeks, sunday as timeSunday, sundays as timeSundays, monday as timeMonday, mondays as timeMondays, tuesday as timeTuesday, tuesdays as timeTuesdays, wednesday as timeWednesday, wednesdays as timeWednesdays, thursday as timeThursday, thursdays as timeThursdays, friday as timeFriday, fridays as timeFridays, saturday as timeSaturday, saturdays as timeSaturdays } from \"./week.js\";\nexport { default as timeMonth, months as timeMonths } from \"./month.js\";\nexport { default as timeYear, years as timeYears } from \"./year.js\";\nexport { default as utcMinute, utcMinutes } from \"./utcMinute.js\";\nexport { default as utcHour, utcHours } from \"./utcHour.js\";\nexport { default as utcDay, utcDays } from \"./utcDay.js\";\nexport { utcSunday as utcWeek, utcSundays as utcWeeks, utcSunday, utcSundays, utcMonday, utcMondays, utcTuesday, utcTuesdays, utcWednesday, utcWednesdays, utcThursday, utcThursdays, utcFriday, utcFridays, utcSaturday, utcSaturdays } from \"./utcWeek.js\";\nexport { default as utcMonth, utcMonths } from \"./utcMonth.js\";\nexport { default as utcYear, utcYears } from \"./utcYear.js\";\nexport { utcTicks, utcTickInterval, timeTicks, timeTickInterval } from \"./ticks.js\";","import { timeDay, timeSunday, timeMonday, timeThursday, timeYear, utcDay, utcSunday, utcMonday, utcThursday, utcYear } from \"d3-time\";\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\nfunction newDate(y, m, d) {\n return {\n y: y,\n m: m,\n d: d,\n H: 0,\n M: 0,\n S: 0,\n L: 0\n };\n}\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n function newFormat(specifier, formats) {\n return function (date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n if (!(date instanceof Date)) date = new Date(+date);\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n function newParse(specifier, Z) {\n return function (string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week,\n day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || (j = parse(d, string, j)) < 0) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n return j;\n }\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n return {\n format: function (specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function () {\n return specifier;\n };\n return f;\n },\n parse: function (specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function () {\n return specifier;\n };\n return p;\n },\n utcFormat: function (specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function () {\n return specifier;\n };\n return f;\n },\n utcParse: function (specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function () {\n return specifier;\n };\n return p;\n }\n };\n}\nvar pads = {\n \"-\": \"\",\n \"_\": \" \",\n \"0\": \"0\"\n },\n numberRe = /^\\s*\\d+/,\n // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\nfunction dISO(d) {\n var day = d.getDay();\n return day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n}\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\")) + pad(z / 60 | 0, \"0\", 2) + pad(z % 60, \"0\", 2);\n}\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n}\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\nfunction formatUTCZone() {\n return \"+0000\";\n}\nfunction formatLiteralPercent() {\n return \"%\";\n}\nfunction formatUnixTimestamp(d) {\n return +d;\n}\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}","import formatLocale from \"./locale.js\";\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}","export { default as timeFormatDefaultLocale, timeFormat, timeParse, utcFormat, utcParse } from \"./defaultLocale.js\";\nexport { default as timeFormatLocale } from \"./locale.js\";\nexport { default as isoFormat } from \"./isoFormat.js\";\nexport { default as isoParse } from \"./isoParse.js\";","import { timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval } from \"d3-time\";\nimport { timeFormat } from \"d3-time-format\";\nimport continuous, { copy } from \"./continuous.js\";\nimport { initRange } from \"./init.js\";\nimport nice from \"./nice.js\";\nfunction date(t) {\n return new Date(t);\n}\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond : minute(date) < date ? formatSecond : hour(date) < date ? formatMinute : day(date) < date ? formatHour : month(date) < date ? week(date) < date ? formatDay : formatWeek : year(date) < date ? formatMonth : formatYear)(date);\n }\n scale.invert = function (y) {\n return new Date(invert(y));\n };\n scale.domain = function (_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n scale.ticks = function (interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n scale.tickFormat = function (count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n scale.nice = function (interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n scale.copy = function () {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n return scale;\n}\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}","export { default as scaleBand, point as scalePoint } from \"./band.js\";\nexport { default as scaleIdentity } from \"./identity.js\";\nexport { default as scaleLinear } from \"./linear.js\";\nexport { default as scaleLog } from \"./log.js\";\nexport { default as scaleSymlog } from \"./symlog.js\";\nexport { default as scaleOrdinal, implicit as scaleImplicit } from \"./ordinal.js\";\nexport { default as scalePow, sqrt as scaleSqrt } from \"./pow.js\";\nexport { default as scaleRadial } from \"./radial.js\";\nexport { default as scaleQuantile } from \"./quantile.js\";\nexport { default as scaleQuantize } from \"./quantize.js\";\nexport { default as scaleThreshold } from \"./threshold.js\";\nexport { default as scaleTime } from \"./time.js\";\nexport { default as scaleUtc } from \"./utcTime.js\";\nexport { default as scaleSequential, sequentialLog as scaleSequentialLog, sequentialPow as scaleSequentialPow, sequentialSqrt as scaleSequentialSqrt, sequentialSymlog as scaleSequentialSymlog } from \"./sequential.js\";\nexport { default as scaleSequentialQuantile } from \"./sequentialQuantile.js\";\nexport { default as scaleDiverging, divergingLog as scaleDivergingLog, divergingPow as scaleDivergingPow, divergingSqrt as scaleDivergingSqrt, divergingSymlog as scaleDivergingSymlog } from \"./diverging.js\";\nexport { default as tickFormat } from \"./tickFormat.js\";","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\nfunction Path() {\n this._x0 = this._y0 =\n // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\nfunction path() {\n return new Path();\n}\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function (x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function () {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function (x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function (x1, y1, x, y) {\n this._ += \"Q\" + +x1 + \",\" + +y1 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function (x1, y1, x2, y2, x, y) {\n this._ += \"C\" + +x1 + \",\" + +y1 + \",\" + +x2 + \",\" + +y2 + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function (x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon)) ;\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + +(y01 * x20 > x01 * y20) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function (x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + +(da >= pi) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function (x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + +w + \"v\" + +h + \"h\" + -w + \"Z\";\n },\n toString: function () {\n return this._;\n }\n};\nexport default path;","export { default as path } from \"./path.js\";","export default function (x) {\n return function constant() {\n return x;\n };\n}","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}","import { path } from \"d3-path\";\nimport constant from \"./constant.js\";\nimport { abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau } from \"./math.js\";\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0,\n y10 = y1 - y0,\n x32 = x3 - x2,\n y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\nexport default function () {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null;\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = ap > epsilon && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= cw ? 1 : -1, a00 += p0, a10 -= p0;else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= cw ? 1 : -1, a01 += p1, a11 -= p1;else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle.\n if (da < pi && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n context.closePath();\n if (buffer) return context = null, buffer + \"\" || null;\n }\n arc.centroid = function () {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n arc.innerRadius = function (_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n arc.outerRadius = function (_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n arc.cornerRadius = function (_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n arc.padRadius = function (_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n arc.startAngle = function (_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n arc.endAngle = function (_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n arc.padAngle = function (_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n arc.context = function (_) {\n return arguments.length ? (context = _ == null ? null : _, arc) : context;\n };\n return arc;\n}","export var slice = Array.prototype.slice;\nexport default function (x) {\n return typeof x === \"object\" && \"length\" in x ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}","function Linear(context) {\n this._context = context;\n}\nLinear.prototype = {\n areaStart: function () {\n this._line = 0;\n },\n areaEnd: function () {\n this._line = NaN;\n },\n lineStart: function () {\n this._point = 0;\n },\n lineEnd: function () {\n if (this._line || this._line !== 0 && this._point === 1) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function (x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0:\n this._point = 1;\n this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);\n break;\n case 1:\n this._point = 2;\n // proceed\n default:\n this._context.lineTo(x, y);\n break;\n }\n }\n};\nexport default function (context) {\n return new Linear(context);\n}","export function x(p) {\n return p[0];\n}\nexport function y(p) {\n return p[1];\n}","import { path } from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport { x as pointX, y as pointY } from \"./point.js\";\nexport default function (x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n x = typeof x === \"function\" ? x : x === undefined ? pointX : constant(x);\n y = typeof y === \"function\" ? y : y === undefined ? pointY : constant(y);\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n if (context == null) output = curve(buffer = path());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n if (buffer) return output = null, buffer + \"\" || null;\n }\n line.x = function (_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n line.y = function (_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n line.defined = function (_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n line.curve = function (_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n line.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n return line;\n}","import { path } from \"d3-path\";\nimport array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport { x as pointX, y as pointY } from \"./point.js\";\nexport default function (x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null;\n x0 = typeof x0 === \"function\" ? x0 : x0 === undefined ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : y0 === undefined ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : y1 === undefined ? pointY : constant(+y1);\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n if (context == null) output = curve(buffer = path());\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n if (buffer) return output = null, buffer + \"\" || null;\n }\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n area.x = function (_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n area.x0 = function (_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n area.x1 = function (_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n area.y = function (_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n area.y0 = function (_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n area.y1 = function (_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n area.lineX0 = area.lineY0 = function () {\n return arealine().x(x0).y(y0);\n };\n area.lineY1 = function () {\n return arealine().x(x0).y(y1);\n };\n area.lineX1 = function () {\n return arealine().x(x1).y(y0);\n };\n area.defined = function (_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n area.curve = function (_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n area.context = function (_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n return area;\n}","export default function (a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}","export default function (d) {\n return d;\n}","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport { tau } from \"./math.js\";\nexport default function () {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function (i, j) {\n return sortValues(arcs[i], arcs[j]);\n });else if (sort != null) index.sort(function (i, j) {\n return sort(data[i], data[j]);\n });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n return arcs;\n }\n pie.value = function (_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n pie.sortValues = function (_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n pie.sort = function (_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n pie.startAngle = function (_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n pie.endAngle = function (_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n pie.padAngle = function (_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n return pie;\n}","export { default as arc } from \"./arc.js\";\nexport { default as area } from \"./area.js\";\nexport { default as line } from \"./line.js\";\nexport { default as pie } from \"./pie.js\";\nexport { default as areaRadial, default as radialArea } from \"./areaRadial.js\"; // Note: radialArea is deprecated!\nexport { default as lineRadial, default as radialLine } from \"./lineRadial.js\"; // Note: radialLine is deprecated!\nexport { default as pointRadial } from \"./pointRadial.js\";\nexport { linkHorizontal, linkVertical, linkRadial } from \"./link/index.js\";\nexport { default as symbol, symbols } from \"./symbol.js\";\nexport { default as symbolCircle } from \"./symbol/circle.js\";\nexport { default as symbolCross } from \"./symbol/cross.js\";\nexport { default as symbolDiamond } from \"./symbol/diamond.js\";\nexport { default as symbolSquare } from \"./symbol/square.js\";\nexport { default as symbolStar } from \"./symbol/star.js\";\nexport { default as symbolTriangle } from \"./symbol/triangle.js\";\nexport { default as symbolWye } from \"./symbol/wye.js\";\nexport { default as curveBasisClosed } from \"./curve/basisClosed.js\";\nexport { default as curveBasisOpen } from \"./curve/basisOpen.js\";\nexport { default as curveBasis } from \"./curve/basis.js\";\nexport { bumpX as curveBumpX, bumpY as curveBumpY } from \"./curve/bump.js\";\nexport { default as curveBundle } from \"./curve/bundle.js\";\nexport { default as curveCardinalClosed } from \"./curve/cardinalClosed.js\";\nexport { default as curveCardinalOpen } from \"./curve/cardinalOpen.js\";\nexport { default as curveCardinal } from \"./curve/cardinal.js\";\nexport { default as curveCatmullRomClosed } from \"./curve/catmullRomClosed.js\";\nexport { default as curveCatmullRomOpen } from \"./curve/catmullRomOpen.js\";\nexport { default as curveCatmullRom } from \"./curve/catmullRom.js\";\nexport { default as curveLinearClosed } from \"./curve/linearClosed.js\";\nexport { default as curveLinear } from \"./curve/linear.js\";\nexport { monotoneX as curveMonotoneX, monotoneY as curveMonotoneY } from \"./curve/monotone.js\";\nexport { default as curveNatural } from \"./curve/natural.js\";\nexport { default as curveStep, stepAfter as curveStepAfter, stepBefore as curveStepBefore } from \"./curve/step.js\";\nexport { default as stack } from \"./stack.js\";\nexport { default as stackOffsetExpand } from \"./offset/expand.js\";\nexport { default as stackOffsetDiverging } from \"./offset/diverging.js\";\nexport { default as stackOffsetNone } from \"./offset/none.js\";\nexport { default as stackOffsetSilhouette } from \"./offset/silhouette.js\";\nexport { default as stackOffsetWiggle } from \"./offset/wiggle.js\";\nexport { default as stackOrderAppearance } from \"./order/appearance.js\";\nexport { default as stackOrderAscending } from \"./order/ascending.js\";\nexport { default as stackOrderDescending } from \"./order/descending.js\";\nexport { default as stackOrderInsideOut } from \"./order/insideOut.js\";\nexport { default as stackOrderNone } from \"./order/none.js\";\nexport { default as stackOrderReverse } from \"./order/reverse.js\";","var toString = Object.prototype.toString;\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n switch (ctorName(val)) {\n case 'Symbol':\n return 'symbol';\n case 'Promise':\n return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap':\n return 'weakmap';\n case 'WeakSet':\n return 'weakset';\n case 'Map':\n return 'map';\n case 'Set':\n return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array':\n return 'int8array';\n case 'Uint8Array':\n return 'uint8array';\n case 'Uint8ClampedArray':\n return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array':\n return 'int16array';\n case 'Uint16Array':\n return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array':\n return 'int32array';\n case 'Uint32Array':\n return 'uint32array';\n case 'Float32Array':\n return 'float32array';\n case 'Float64Array':\n return 'float64array';\n }\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]':\n return 'object';\n // iterators\n case '[object Map Iterator]':\n return 'mapiterator';\n case '[object Set Iterator]':\n return 'setiterator';\n case '[object String Iterator]':\n return 'stringiterator';\n case '[object Array Iterator]':\n return 'arrayiterator';\n }\n\n // other\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n};\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\nfunction isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\n}\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string' && typeof val.ignoreCase === 'boolean' && typeof val.multiline === 'boolean' && typeof val.global === 'boolean';\n}\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function' && typeof val.return === 'function' && typeof val.next === 'function';\n}\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}","/*!\n * shallow-clone \n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default:\n {\n return val;\n }\n }\n}\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : /\\w+$/.exec(val) || void 0;\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\nfunction isObjectObject(o) {\n return isObject(o) === true && Object.prototype.toString.call(o) === '[object Object]';\n}\nmodule.exports = function isPlainObject(o) {\n var ctor, prot;\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};","'use strict';\n\n/**\n * Module dependenices\n */\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default:\n {\n return clone(val);\n }\n }\n}\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;","import * as i0 from '@angular/core';\nimport { PLATFORM_ID, Component, ViewEncapsulation, Inject, Input, ViewChild, HostBinding, HostListener, Injectable, ChangeDetectionStrategy, EventEmitter, Output, Directive, NgModule, ContentChild } from '@angular/core';\nimport * as i2 from '@angular/common';\nimport { isPlatformBrowser, isPlatformServer, CommonModule } from '@angular/common';\nimport { __decorate } from 'tslib';\nimport { DomPortalOutlet, ComponentPortal } from '@angular/cdk/portal';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { select } from 'd3-selection';\nimport { brushX } from 'd3-brush';\nimport { scaleTime, scaleLinear, scalePoint, scaleOrdinal, scaleQuantile, scaleBand } from 'd3-scale';\nimport { area, curveLinear, line, arc, lineRadial, curveCardinalClosed, pie } from 'd3-shape';\nimport { range, min, max, quantile } from 'd3-array';\nimport { interpolate } from 'd3-interpolate';\nimport { easeSinInOut } from 'd3-ease';\nimport cloneDeep from 'clone-deep';\nimport { format } from 'd3-format';\nimport * as d3_color from 'd3-color';\nimport { treemap, stratify } from 'd3-hierarchy';\nimport { timeFormat } from 'd3-time-format';\n\n/**\n * Throttle a function\n *\n */\nconst _c0 = [\"caretElm\"];\nconst _c1 = a0 => ({\n model: a0\n});\nfunction TooltipContentComponent_span_4_ng_template_1_Template(rf, ctx) {}\nfunction TooltipContentComponent_span_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\");\n i0.ɵɵtemplate(1, TooltipContentComponent_span_4_ng_template_1_Template, 0, 0, \"ng-template\", 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c1, ctx_r0.context));\n }\n}\nfunction TooltipContentComponent_span_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 6);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"innerHTML\", ctx_r0.title, i0.ɵɵsanitizeHtml);\n }\n}\nfunction LegendComponent_header_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"header\", 4)(1, \"span\", 5);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r0.title);\n }\n}\nfunction LegendComponent_li_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"li\", 6)(1, \"ngx-charts-legend-entry\", 7);\n i0.ɵɵlistener(\"select\", function LegendComponent_li_4_Template_ngx_charts_legend_entry_select_1_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.labelClick.emit($event));\n })(\"activate\", function LegendComponent_li_4_Template_ngx_charts_legend_entry_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.activate($event));\n })(\"deactivate\", function LegendComponent_li_4_Template_ngx_charts_legend_entry_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.deactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const entry_r3 = ctx.$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"label\", entry_r3.label)(\"formattedLabel\", entry_r3.formattedLabel)(\"color\", entry_r3.color)(\"isActive\", ctx_r0.isActive(entry_r3));\n }\n}\nconst _c2 = [\"*\"];\nfunction ChartComponent_ngx_charts_scale_legend_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"ngx-charts-scale-legend\", 4);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"horizontal\", ctx_r0.legendOptions && ctx_r0.legendOptions.position === ctx_r0.LegendPosition.Below)(\"valueRange\", ctx_r0.legendOptions.domain)(\"colors\", ctx_r0.legendOptions.colors)(\"height\", ctx_r0.view[1])(\"width\", ctx_r0.legendWidth);\n }\n}\nfunction ChartComponent_ngx_charts_legend_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"ngx-charts-legend\", 5);\n i0.ɵɵlistener(\"labelClick\", function ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelClick_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.legendLabelClick.emit($event));\n })(\"labelActivate\", function ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelActivate_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.legendLabelActivate.emit($event));\n })(\"labelDeactivate\", function ChartComponent_ngx_charts_legend_4_Template_ngx_charts_legend_labelDeactivate_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.legendLabelDeactivate.emit($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"horizontal\", ctx_r0.legendOptions && ctx_r0.legendOptions.position === ctx_r0.LegendPosition.Below)(\"data\", ctx_r0.legendOptions.domain)(\"title\", ctx_r0.legendOptions.title)(\"colors\", ctx_r0.legendOptions.colors)(\"height\", ctx_r0.view[1])(\"width\", ctx_r0.legendWidth)(\"activeEntries\", ctx_r0.activeEntries);\n }\n}\nconst _c3 = [\"ngx-charts-axis-label\", \"\"];\nconst _c4 = [\"ticksel\"];\nconst _c5 = [\"ngx-charts-x-axis-ticks\", \"\"];\nfunction XAxisTicksComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 3)(1, \"title\");\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"text\", 4);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const tick_r1 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.tickTransform(tick_r1));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.tickFormat(tick_r1));\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"font-size\", \"12px\");\n i0.ɵɵattribute(\"text-anchor\", ctx_r1.textAnchor)(\"transform\", ctx_r1.textTransform);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.tickTrim(ctx_r1.tickFormat(tick_r1)), \" \");\n }\n}\nfunction XAxisTicksComponent__svg_g_3__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"line\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.gridLineTransform());\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"y1\", -ctx_r1.gridLineHeight);\n }\n}\nfunction XAxisTicksComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, XAxisTicksComponent__svg_g_3__svg_g_1_Template, 2, 2, \"g\", 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tick_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.tickTransform(tick_r3));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showGridLines);\n }\n}\nconst _c6 = [\"ngx-charts-x-axis\", \"\"];\nfunction XAxisComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"dimensionsChanged\", function XAxisComponent__svg_g_1_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.emitTicksHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"trimTicks\", ctx_r1.trimTicks)(\"rotateTicks\", ctx_r1.rotateTicks)(\"maxTickLength\", ctx_r1.maxTickLength)(\"tickFormatting\", ctx_r1.tickFormatting)(\"tickArguments\", ctx_r1.tickArguments)(\"tickStroke\", ctx_r1.tickStroke)(\"scale\", ctx_r1.xScale)(\"orient\", ctx_r1.xOrient)(\"showGridLines\", ctx_r1.showGridLines)(\"gridLineHeight\", ctx_r1.dims.height)(\"width\", ctx_r1.dims.width)(\"tickValues\", ctx_r1.ticks);\n }\n}\nfunction XAxisComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 3);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"label\", ctx_r1.labelText)(\"offset\", ctx_r1.labelOffset)(\"orient\", ctx_r1.orientation.Bottom)(\"height\", ctx_r1.dims.height)(\"width\", ctx_r1.dims.width);\n }\n}\nconst _c7 = [\"ngx-charts-y-axis-ticks\", \"\"];\nfunction YAxisTicksComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 4)(1, \"title\");\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"text\", 5);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const tick_r1 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transform(tick_r1));\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.tickFormat(tick_r1));\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"font-size\", \"12px\");\n i0.ɵɵattribute(\"dy\", ctx_r1.dy)(\"x\", ctx_r1.x1)(\"y\", ctx_r1.y1)(\"text-anchor\", ctx_r1.textAnchor);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.tickTrim(ctx_r1.tickFormat(tick_r1)), \" \");\n }\n}\nfunction YAxisTicksComponent__svg_path_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"path\", 6);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"d\", ctx_r1.referenceAreaPath)(\"transform\", ctx_r1.gridLineTransform());\n }\n}\nfunction YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"line\", 9);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"x2\", ctx_r1.gridLineWidth);\n }\n}\nfunction YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"line\", 9);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"x2\", -ctx_r1.gridLineWidth);\n }\n}\nfunction YAxisTicksComponent__svg_g_4__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_1_Template, 1, 1, \"line\", 8)(2, YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_2_Template, 1, 1, \"line\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.gridLineTransform());\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.orient === ctx_r1.Orientation.Left);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.orient === ctx_r1.Orientation.Right);\n }\n}\nfunction YAxisTicksComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, YAxisTicksComponent__svg_g_4__svg_g_1_Template, 3, 3, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tick_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transform(tick_r3));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showGridLines);\n }\n}\nfunction YAxisTicksComponent__svg_g_5__svg_g_1__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"title\");\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"text\", 11);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const refLine_r4 = i0.ɵɵnextContext(2).$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.tickTrim(ctx_r1.tickFormat(refLine_r4.value)));\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"dy\", ctx_r1.dy)(\"y\", -6)(\"x\", ctx_r1.gridLineWidth)(\"text-anchor\", ctx_r1.textAnchor);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", refLine_r4.name, \" \");\n }\n}\nfunction YAxisTicksComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"line\", 10);\n i0.ɵɵtemplate(2, YAxisTicksComponent__svg_g_5__svg_g_1__svg_g_2_Template, 5, 6, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const refLine_r4 = i0.ɵɵnextContext().$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transform(refLine_r4.value));\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"x2\", ctx_r1.gridLineWidth)(\"transform\", ctx_r1.gridLineTransform());\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showRefLabels);\n }\n}\nfunction YAxisTicksComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, YAxisTicksComponent__svg_g_5__svg_g_1_Template, 3, 4, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showRefLines);\n }\n}\nconst _c8 = [\"ngx-charts-y-axis\", \"\"];\nfunction YAxisComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"dimensionsChanged\", function YAxisComponent__svg_g_1_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.emitTicksWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"trimTicks\", ctx_r1.trimTicks)(\"maxTickLength\", ctx_r1.maxTickLength)(\"tickFormatting\", ctx_r1.tickFormatting)(\"tickArguments\", ctx_r1.tickArguments)(\"tickValues\", ctx_r1.ticks)(\"tickStroke\", ctx_r1.tickStroke)(\"scale\", ctx_r1.yScale)(\"orient\", ctx_r1.yOrient)(\"showGridLines\", ctx_r1.showGridLines)(\"gridLineWidth\", ctx_r1.dims.width)(\"referenceLines\", ctx_r1.referenceLines)(\"showRefLines\", ctx_r1.showRefLines)(\"showRefLabels\", ctx_r1.showRefLabels)(\"height\", ctx_r1.dims.height);\n }\n}\nfunction YAxisComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 3);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"label\", ctx_r1.labelText)(\"offset\", ctx_r1.labelOffset)(\"orient\", ctx_r1.yOrient)(\"height\", ctx_r1.dims.height)(\"width\", ctx_r1.dims.width);\n }\n}\nconst _c9 = [\"ngx-charts-svg-linear-gradient\", \"\"];\nfunction SvgLinearGradientComponent__svg_stop_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"stop\");\n }\n if (rf & 2) {\n const stop_r1 = ctx.$implicit;\n i0.ɵɵstyleProp(\"stop-color\", stop_r1.color)(\"stop-opacity\", stop_r1.opacity);\n i0.ɵɵattribute(\"offset\", stop_r1.offset + \"%\");\n }\n}\nconst _c10 = [\"ngx-charts-circle\", \"\"];\nconst _c11 = [\"ngx-charts-circle-series\", \"\"];\nconst _c12 = a0 => ({\n name: a0\n});\nfunction CircleSeriesComponent__svg_g_0__svg_rect_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"rect\", 4);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"x\", ctx_r1.circle.cx - ctx_r1.circle.radius)(\"y\", ctx_r1.circle.cy)(\"width\", ctx_r1.circle.radius * 2)(\"height\", ctx_r1.circle.height)(\"fill\", ctx_r1.gradientFill);\n }\n}\nfunction CircleSeriesComponent__svg_g_0__svg_rect_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"rect\", 4);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"x\", ctx_r1.circle.cx - ctx_r1.circle.radius)(\"y\", ctx_r1.circle.cy)(\"width\", ctx_r1.circle.radius * 2)(\"height\", ctx_r1.circle.height)(\"fill\", ctx_r1.gradientFill);\n }\n}\nfunction CircleSeriesComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"defs\");\n i0.ɵɵelement(2, \"g\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, CircleSeriesComponent__svg_g_0__svg_rect_3_Template, 1, 6, \"rect\", 2)(4, CircleSeriesComponent__svg_g_0__svg_rect_4_Template, 1, 5, \"rect\", 2);\n i0.ɵɵelementStart(5, \"g\", 3);\n i0.ɵɵlistener(\"select\", function CircleSeriesComponent__svg_g_0_Template_g_select_5_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick(ctx_r1.circle.data));\n })(\"activate\", function CircleSeriesComponent__svg_g_0_Template_g_activate_5_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.activateCircle());\n })(\"deactivate\", function CircleSeriesComponent__svg_g_0_Template_g_deactivate_5_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.deactivateCircle());\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"orientation\", ctx_r1.barOrientation.Vertical)(\"name\", ctx_r1.gradientId)(\"stops\", ctx_r1.circle.gradientStops);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.isSSR && ctx_r1.barVisible && ctx_r1.type === \"standard\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.isSSR && ctx_r1.barVisible && ctx_r1.type === \"standard\");\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"active\", ctx_r1.isActive(i0.ɵɵpureFunction1(20, _c12, ctx_r1.circle.seriesName)));\n i0.ɵɵproperty(\"cx\", ctx_r1.circle.cx)(\"cy\", ctx_r1.circle.cy)(\"r\", ctx_r1.circle.radius)(\"fill\", ctx_r1.circle.color)(\"pointerEvents\", ctx_r1.circle.value === 0 ? \"none\" : \"all\")(\"data\", ctx_r1.circle.value)(\"classNames\", ctx_r1.circle.classNames)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.placementTypes.Top)(\"tooltipType\", ctx_r1.styleTypes.tooltip)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : ctx_r1.getTooltipText(ctx_r1.circle))(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", ctx_r1.circle.data);\n }\n}\nconst _c13 = [\"ngx-charts-grid-panel\", \"\"];\nconst _c14 = [\"ngx-charts-grid-panel-series\", \"\"];\nfunction GridPanelSeriesComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 1);\n }\n if (rf & 2) {\n const gridPanel_r1 = ctx.$implicit;\n i0.ɵɵclassProp(\"grid-panel\", true)(\"odd\", gridPanel_r1.class === \"odd\")(\"even\", gridPanel_r1.class === \"even\");\n i0.ɵɵproperty(\"height\", gridPanel_r1.height)(\"width\", gridPanel_r1.width)(\"x\", gridPanel_r1.x)(\"y\", gridPanel_r1.y);\n }\n}\nconst _c15 = [\"ngx-charts-svg-radial-gradient\", \"\"];\nfunction SvgRadialGradientComponent__svg_stop_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"stop\");\n }\n if (rf & 2) {\n const stop_r1 = ctx.$implicit;\n i0.ɵɵstyleProp(\"stop-color\", stop_r1.color)(\"stop-opacity\", stop_r1.opacity);\n i0.ɵɵattribute(\"offset\", stop_r1.offset + \"%\");\n }\n}\nconst _c16 = [\"ngx-charts-area\", \"\"];\nfunction AreaComponent__svg_defs_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"defs\");\n i0.ɵɵelement(1, \"g\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n }\n}\nconst _c17 = [\"ngx-charts-count-up\", \"\"];\nconst _c18 = [\"tooltipAnchor\"];\nconst _c19 = [\"ngx-charts-tooltip-area\", \"\"];\nfunction TooltipArea__svg_ng_template_2_div_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 6);\n i0.ɵɵelement(1, \"span\", 7);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tooltipItem_r2 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"background-color\", tooltipItem_r2.color);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r2.getToolTipText(tooltipItem_r2), \" \");\n }\n}\nfunction TooltipArea__svg_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 4);\n i0.ɵɵtemplate(1, TooltipArea__svg_ng_template_2_div_1_Template, 3, 3, \"div\", 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const model_r4 = ctx.model;\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", model_r4);\n }\n}\nconst _c20 = [\"ngx-charts-timeline\", \"\"];\nfunction AdvancedLegendComponent_div_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 7);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"countTo\", ctx_r0.roundedTotal)(\"valueFormatting\", ctx_r0.valueFormatting);\n }\n}\nfunction AdvancedLegendComponent_div_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 8);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r0.valueFormatting ? ctx_r0.valueFormatting(ctx_r0.roundedTotal) : ctx_r0.defaultValueFormatting(ctx_r0.roundedTotal), \" \");\n }\n}\nfunction AdvancedLegendComponent_div_7_div_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 16);\n }\n if (rf & 2) {\n const legendItem_r3 = i0.ɵɵnextContext().$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"countTo\", legendItem_r3._value)(\"valueFormatting\", ctx_r0.valueFormatting);\n }\n}\nfunction AdvancedLegendComponent_div_7_div_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 17);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const legendItem_r3 = i0.ɵɵnextContext().$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r0.valueFormatting ? ctx_r0.valueFormatting(legendItem_r3.value) : ctx_r0.defaultValueFormatting(legendItem_r3.value), \" \");\n }\n}\nfunction AdvancedLegendComponent_div_7_div_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 18);\n }\n if (rf & 2) {\n const legendItem_r3 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"countTo\", legendItem_r3.percentage)(\"countSuffix\", \"%\");\n }\n}\nfunction AdvancedLegendComponent_div_7_div_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 19);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const legendItem_r3 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\"\", legendItem_r3.percentage.toLocaleString(), \"%\");\n }\n}\nfunction AdvancedLegendComponent_div_7_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 9);\n i0.ɵɵlistener(\"mouseenter\", function AdvancedLegendComponent_div_7_Template_div_mouseenter_0_listener() {\n const legendItem_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.activate.emit(legendItem_r3.data));\n })(\"mouseleave\", function AdvancedLegendComponent_div_7_Template_div_mouseleave_0_listener() {\n const legendItem_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.deactivate.emit(legendItem_r3.data));\n })(\"click\", function AdvancedLegendComponent_div_7_Template_div_click_0_listener() {\n const legendItem_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.select.emit(legendItem_r3.data));\n });\n i0.ɵɵelement(1, \"div\", 10);\n i0.ɵɵtemplate(2, AdvancedLegendComponent_div_7_div_2_Template, 1, 2, \"div\", 11)(3, AdvancedLegendComponent_div_7_div_3_Template, 2, 1, \"div\", 12);\n i0.ɵɵelementStart(4, \"div\", 13);\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, AdvancedLegendComponent_div_7_div_6_Template, 1, 2, \"div\", 14)(7, AdvancedLegendComponent_div_7_div_7_Template, 2, 1, \"div\", 15);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const legendItem_r3 = ctx.$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"border-left-color\", legendItem_r3.color);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(legendItem_r3.displayLabel);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.animations);\n }\n}\nconst _c21 = [\"ngx-charts-area-series\", \"\"];\nconst _c22 = [\"tooltipTemplate\"];\nconst _c23 = [\"seriesTooltipTemplate\"];\nconst _c24 = (a0, a1) => [a0, a1];\nfunction AreaChartComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function AreaChartComponent__svg_g_5_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction AreaChartComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 8);\n i0.ɵɵlistener(\"dimensionsChanged\", function AreaChartComponent__svg_g_6_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction AreaChartComponent__svg_g_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r4 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"baseValue\", ctx_r1.baseValue)(\"colors\", ctx_r1.colors)(\"data\", series_r4)(\"activeEntries\", ctx_r1.activeEntries)(\"scaleType\", ctx_r1.scaleType)(\"gradient\", ctx_r1.gradient)(\"curve\", ctx_r1.curve)(\"animations\", ctx_r1.animations);\n }\n}\nfunction AreaChartComponent__svg_g_9__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n i0.ɵɵlistener(\"select\", function AreaChartComponent__svg_g_9__svg_g_2_Template_g_select_1_listener($event) {\n const series_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, series_r7));\n })(\"activate\", function AreaChartComponent__svg_g_9__svg_g_2_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function AreaChartComponent__svg_g_9__svg_g_2_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"activeEntries\", ctx_r1.activeEntries)(\"data\", series_r7)(\"scaleType\", ctx_r1.scaleType)(\"visibleValue\", ctx_r1.hoveredVertical)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction AreaChartComponent__svg_g_9_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 10);\n i0.ɵɵlistener(\"mouseleave\", function AreaChartComponent__svg_g_9_Template_g_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.hideCircles());\n });\n i0.ɵɵelementStart(1, \"g\", 11);\n i0.ɵɵlistener(\"hover\", function AreaChartComponent__svg_g_9_Template_g_hover_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateHoveredVertical($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, AreaChartComponent__svg_g_9__svg_g_2_Template, 2, 9, \"g\", 12);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"dims\", ctx_r1.dims)(\"xSet\", ctx_r1.xSet)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"results\", ctx_r1.results)(\"colors\", ctx_r1.colors)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.seriesTooltipTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results);\n }\n}\nfunction AreaChartComponent__svg_g_10__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 15);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.timelineXScale)(\"yScale\", ctx_r1.timelineYScale)(\"baseValue\", ctx_r1.baseValue)(\"colors\", ctx_r1.colors)(\"data\", series_r9)(\"scaleType\", ctx_r1.scaleType)(\"gradient\", ctx_r1.gradient)(\"curve\", ctx_r1.curve)(\"animations\", ctx_r1.animations);\n }\n}\nfunction AreaChartComponent__svg_g_10_Template(rf, ctx) {\n if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 14);\n i0.ɵɵlistener(\"onDomainChange\", function AreaChartComponent__svg_g_10_Template_g_onDomainChange_0_listener($event) {\n i0.ɵɵrestoreView(_r8);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateDomain($event));\n });\n i0.ɵɵtemplate(1, AreaChartComponent__svg_g_10__svg_g_1_Template, 2, 9, \"g\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"results\", ctx_r1.results)(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx_r1.timelineWidth, ctx_r1.height))(\"height\", ctx_r1.timelineHeight)(\"scheme\", ctx_r1.scheme)(\"customColors\", ctx_r1.customColors)(\"legend\", ctx_r1.legend)(\"scaleType\", ctx_r1.scaleType);\n i0.ɵɵattribute(\"transform\", ctx_r1.timelineTransform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function AreaChartNormalizedComponent__svg_g_5_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 8);\n i0.ɵɵlistener(\"dimensionsChanged\", function AreaChartNormalizedComponent__svg_g_6_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r4 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r4)(\"scaleType\", ctx_r1.scaleType)(\"activeEntries\", ctx_r1.activeEntries)(\"gradient\", ctx_r1.gradient)(\"normalized\", true)(\"curve\", ctx_r1.curve)(\"animations\", ctx_r1.animations);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n i0.ɵɵlistener(\"select\", function AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template_g_select_1_listener($event) {\n const series_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, series_r7));\n })(\"activate\", function AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.seriesType.Stacked)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"activeEntries\", ctx_r1.activeEntries)(\"data\", series_r7)(\"scaleType\", ctx_r1.scaleType)(\"visibleValue\", ctx_r1.hoveredVertical)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_9_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 10);\n i0.ɵɵlistener(\"mouseleave\", function AreaChartNormalizedComponent__svg_g_9_Template_g_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.hideCircles());\n });\n i0.ɵɵelementStart(1, \"g\", 11);\n i0.ɵɵlistener(\"hover\", function AreaChartNormalizedComponent__svg_g_9_Template_g_hover_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateHoveredVertical($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, AreaChartNormalizedComponent__svg_g_9__svg_g_2_Template, 2, 10, \"g\", 12);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"dims\", ctx_r1.dims)(\"xSet\", ctx_r1.xSet)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"results\", ctx_r1.results)(\"colors\", ctx_r1.colors)(\"showPercentage\", true)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.seriesTooltipTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_10__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 15);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.timelineXScale)(\"yScale\", ctx_r1.timelineYScale)(\"colors\", ctx_r1.colors)(\"data\", series_r9)(\"scaleType\", ctx_r1.scaleType)(\"gradient\", ctx_r1.gradient)(\"normalized\", true)(\"curve\", ctx_r1.curve)(\"animations\", ctx_r1.animations);\n }\n}\nfunction AreaChartNormalizedComponent__svg_g_10_Template(rf, ctx) {\n if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 14);\n i0.ɵɵlistener(\"onDomainChange\", function AreaChartNormalizedComponent__svg_g_10_Template_g_onDomainChange_0_listener($event) {\n i0.ɵɵrestoreView(_r8);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateDomain($event));\n });\n i0.ɵɵtemplate(1, AreaChartNormalizedComponent__svg_g_10__svg_g_1_Template, 2, 9, \"g\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"results\", ctx_r1.results)(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx_r1.timelineWidth, ctx_r1.height))(\"height\", ctx_r1.timelineHeight)(\"scheme\", ctx_r1.scheme)(\"customColors\", ctx_r1.customColors)(\"legend\", ctx_r1.legend)(\"scaleType\", ctx_r1.scaleType);\n i0.ɵɵattribute(\"transform\", ctx_r1.timelineTransform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c25 = \".ngx-charts-outer{-webkit-animation:chartFadeIn linear .6s;animation:chartFadeIn linear .6s}@-webkit-keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\";\nfunction AreaChartStackedComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function AreaChartStackedComponent__svg_g_5_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction AreaChartStackedComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 8);\n i0.ɵɵlistener(\"dimensionsChanged\", function AreaChartStackedComponent__svg_g_6_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction AreaChartStackedComponent__svg_g_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r4 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r4)(\"scaleType\", ctx_r1.scaleType)(\"gradient\", ctx_r1.gradient)(\"activeEntries\", ctx_r1.activeEntries)(\"stacked\", true)(\"curve\", ctx_r1.curve)(\"animations\", ctx_r1.animations);\n }\n}\nfunction AreaChartStackedComponent__svg_g_9__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 12);\n i0.ɵɵlistener(\"select\", function AreaChartStackedComponent__svg_g_9__svg_g_2_Template_g_select_1_listener($event) {\n const series_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, series_r7));\n })(\"activate\", function AreaChartStackedComponent__svg_g_9__svg_g_2_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function AreaChartStackedComponent__svg_g_9__svg_g_2_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.seriesType.Stacked)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"activeEntries\", ctx_r1.activeEntries)(\"data\", series_r7)(\"scaleType\", ctx_r1.scaleType)(\"visibleValue\", ctx_r1.hoveredVertical)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction AreaChartStackedComponent__svg_g_9_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 10);\n i0.ɵɵlistener(\"mouseleave\", function AreaChartStackedComponent__svg_g_9_Template_g_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.hideCircles());\n });\n i0.ɵɵelementStart(1, \"g\", 11);\n i0.ɵɵlistener(\"hover\", function AreaChartStackedComponent__svg_g_9_Template_g_hover_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateHoveredVertical($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, AreaChartStackedComponent__svg_g_9__svg_g_2_Template, 2, 10, \"g\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"dims\", ctx_r1.dims)(\"xSet\", ctx_r1.xSet)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"results\", ctx_r1.results)(\"colors\", ctx_r1.colors)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.seriesTooltipTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction AreaChartStackedComponent__svg_g_10__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 14);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r9 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.timelineXScale)(\"yScale\", ctx_r1.timelineYScale)(\"colors\", ctx_r1.colors)(\"data\", series_r9)(\"scaleType\", ctx_r1.scaleType)(\"gradient\", ctx_r1.gradient)(\"stacked\", true)(\"curve\", ctx_r1.curve)(\"animations\", ctx_r1.animations);\n }\n}\nfunction AreaChartStackedComponent__svg_g_10_Template(rf, ctx) {\n if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 13);\n i0.ɵɵlistener(\"onDomainChange\", function AreaChartStackedComponent__svg_g_10_Template_g_onDomainChange_0_listener($event) {\n i0.ɵɵrestoreView(_r8);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateDomain($event));\n });\n i0.ɵɵtemplate(1, AreaChartStackedComponent__svg_g_10__svg_g_1_Template, 2, 9, \"g\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"results\", ctx_r1.results)(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx_r1.timelineWidth, ctx_r1.height))(\"height\", ctx_r1.timelineHeight)(\"scheme\", ctx_r1.scheme)(\"customColors\", ctx_r1.customColors)(\"legend\", ctx_r1.legend)(\"scaleType\", ctx_r1.scaleType);\n i0.ɵɵattribute(\"transform\", ctx_r1.timelineTransform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c26 = [\"ngx-charts-bar\", \"\"];\nfunction BarComponent__svg_defs_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"defs\");\n i0.ɵɵelement(1, \"g\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"orientation\", ctx_r0.orientation)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n }\n}\nconst _c27 = [\"ngx-charts-bar-label\", \"\"];\nconst _c28 = [\"ngx-charts-series-horizontal\", \"\"];\nfunction SeriesHorizontal__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"select\", function SeriesHorizontal__svg_g_0_Template_g_select_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.click($event));\n })(\"activate\", function SeriesHorizontal__svg_g_0_Template_g_activate_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.activate.emit($event));\n })(\"deactivate\", function SeriesHorizontal__svg_g_0_Template_g_deactivate_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.deactivate.emit($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const bar_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"@animationState\", \"active\")(\"width\", bar_r3.width)(\"height\", bar_r3.height)(\"x\", bar_r3.x)(\"y\", bar_r3.y)(\"fill\", bar_r3.color)(\"stops\", bar_r3.gradientStops)(\"data\", bar_r3.data)(\"orientation\", ctx_r1.barOrientation.Horizontal)(\"roundEdges\", bar_r3.roundEdges)(\"gradient\", ctx_r1.gradient)(\"isActive\", ctx_r1.isActive(bar_r3.data))(\"ariaLabel\", bar_r3.ariaLabel)(\"animations\", ctx_r1.animations)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.tooltipPlacement)(\"tooltipType\", ctx_r1.tooltipType)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : bar_r3.tooltipText)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", bar_r3.data)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction SeriesHorizontal__svg_g_1__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 4);\n i0.ɵɵlistener(\"dimensionsChanged\", function SeriesHorizontal__svg_g_1__svg_g_1_Template_g_dimensionsChanged_0_listener($event) {\n const i_r5 = i0.ɵɵrestoreView(_r4).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.dataLabelWidthChanged.emit({\n size: $event,\n index: i_r5\n }));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const b_r6 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"barX\", b_r6.x)(\"barY\", b_r6.y)(\"barWidth\", b_r6.width)(\"barHeight\", b_r6.height)(\"value\", b_r6.total)(\"valueFormatting\", ctx_r1.dataLabelFormatting)(\"orientation\", ctx_r1.barOrientation.Horizontal);\n }\n}\nfunction SeriesHorizontal__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, SeriesHorizontal__svg_g_1__svg_g_1_Template, 1, 7, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.barsForDataLabels)(\"ngForTrackBy\", ctx_r1.trackDataLabelBy);\n }\n}\nfunction BarHorizontalComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction BarHorizontalComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"yAxisOffset\", ctx_r1.dataLabelMaxWidth.negative);\n }\n}\nfunction BarHorizontal2DComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontal2DComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.valueScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction BarHorizontal2DComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontal2DComponent__svg_g_4_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.groupScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"yAxisOffset\", ctx_r1.dataLabelMaxWidth.negative);\n }\n}\nfunction BarHorizontal2DComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 9);\n i0.ɵɵlistener(\"select\", function BarHorizontal2DComponent__svg_g_5__svg_g_1_Template_g_select_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r5));\n })(\"activate\", function BarHorizontal2DComponent__svg_g_5__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r5));\n })(\"deactivate\", function BarHorizontal2DComponent__svg_g_5__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r5));\n })(\"dataLabelWidthChanged\", function BarHorizontal2DComponent__svg_g_5__svg_g_1_Template_g_dataLabelWidthChanged_1_listener($event) {\n const index_r6 = i0.ɵɵrestoreView(_r4).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxWidthChanged($event, index_r6));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r5));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.valueScale)(\"activeEntries\", ctx_r1.activeEntries)(\"yScale\", ctx_r1.innerScale)(\"colors\", ctx_r1.colors)(\"series\", group_r5.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r5.name)(\"roundEdges\", ctx_r1.roundEdges)(\"animations\", ctx_r1.animations)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarHorizontal2DComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarHorizontal2DComponent__svg_g_5__svg_g_1_Template, 2, 17, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarHorizontal2DComponent__svg_g_6__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 9);\n i0.ɵɵlistener(\"select\", function BarHorizontal2DComponent__svg_g_6__svg_g_1_Template_g_select_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r8));\n })(\"activate\", function BarHorizontal2DComponent__svg_g_6__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r8));\n })(\"deactivate\", function BarHorizontal2DComponent__svg_g_6__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r8));\n })(\"dataLabelWidthChanged\", function BarHorizontal2DComponent__svg_g_6__svg_g_1_Template_g_dataLabelWidthChanged_1_listener($event) {\n const index_r9 = i0.ɵɵrestoreView(_r7).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxWidthChanged($event, index_r9));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r8));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.valueScale)(\"activeEntries\", ctx_r1.activeEntries)(\"yScale\", ctx_r1.innerScale)(\"colors\", ctx_r1.colors)(\"series\", group_r8.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r8.name)(\"roundEdges\", ctx_r1.roundEdges)(\"animations\", ctx_r1.animations)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarHorizontal2DComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarHorizontal2DComponent__svg_g_6__svg_g_1_Template, 2, 16, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarHorizontalNormalizedComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalNormalizedComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction BarHorizontalNormalizedComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalNormalizedComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction BarHorizontalNormalizedComponent__svg_g_4__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarHorizontalNormalizedComponent__svg_g_4__svg_g_1_Template_g_select_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r5));\n })(\"activate\", function BarHorizontalNormalizedComponent__svg_g_4__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r5));\n })(\"deactivate\", function BarHorizontalNormalizedComponent__svg_g_4__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r5));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r5));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Normalized)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"activeEntries\", ctx_r1.activeEntries)(\"colors\", ctx_r1.colors)(\"series\", group_r5.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r5.name)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarHorizontalNormalizedComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarHorizontalNormalizedComponent__svg_g_4__svg_g_1_Template, 2, 15, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarHorizontalNormalizedComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarHorizontalNormalizedComponent__svg_g_5__svg_g_1_Template_g_select_1_listener($event) {\n const group_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r7));\n })(\"activate\", function BarHorizontalNormalizedComponent__svg_g_5__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r7));\n })(\"deactivate\", function BarHorizontalNormalizedComponent__svg_g_5__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r7));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r7));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Normalized)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"activeEntries\", ctx_r1.activeEntries)(\"colors\", ctx_r1.colors)(\"series\", group_r7.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r7.name)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarHorizontalNormalizedComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarHorizontalNormalizedComponent__svg_g_5__svg_g_1_Template, 2, 14, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarHorizontalStackedComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalStackedComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction BarHorizontalStackedComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarHorizontalStackedComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"yAxisOffset\", ctx_r1.dataLabelMaxWidth.negative);\n }\n}\nfunction BarHorizontalStackedComponent__svg_g_4__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarHorizontalStackedComponent__svg_g_4__svg_g_1_Template_g_select_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r5));\n })(\"activate\", function BarHorizontalStackedComponent__svg_g_4__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r5));\n })(\"deactivate\", function BarHorizontalStackedComponent__svg_g_4__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r5));\n })(\"dataLabelWidthChanged\", function BarHorizontalStackedComponent__svg_g_4__svg_g_1_Template_g_dataLabelWidthChanged_1_listener($event) {\n const index_r6 = i0.ɵɵrestoreView(_r4).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxWidthChanged($event, index_r6));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r5));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Stacked)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"series\", group_r5.series)(\"activeEntries\", ctx_r1.activeEntries)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r5.name)(\"animations\", ctx_r1.animations)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarHorizontalStackedComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarHorizontalStackedComponent__svg_g_4__svg_g_1_Template, 2, 17, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarHorizontalStackedComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarHorizontalStackedComponent__svg_g_5__svg_g_1_Template_g_select_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r8));\n })(\"activate\", function BarHorizontalStackedComponent__svg_g_5__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r8));\n })(\"deactivate\", function BarHorizontalStackedComponent__svg_g_5__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r8));\n })(\"dataLabelWidthChanged\", function BarHorizontalStackedComponent__svg_g_5__svg_g_1_Template_g_dataLabelWidthChanged_1_listener($event) {\n const index_r9 = i0.ɵɵrestoreView(_r7).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxWidthChanged($event, index_r9));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r8));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Stacked)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"series\", group_r8.series)(\"activeEntries\", ctx_r1.activeEntries)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r8.name)(\"animations\", ctx_r1.animations)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarHorizontalStackedComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarHorizontalStackedComponent__svg_g_5__svg_g_1_Template, 2, 16, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c29 = [\"ngx-charts-series-vertical\", \"\"];\nfunction SeriesVerticalComponent__svg_g_0__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"select\", function SeriesVerticalComponent__svg_g_0__svg_g_1_Template_g_select_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function SeriesVerticalComponent__svg_g_0__svg_g_1_Template_g_activate_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.activate.emit($event));\n })(\"deactivate\", function SeriesVerticalComponent__svg_g_0__svg_g_1_Template_g_deactivate_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.deactivate.emit($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const bar_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\")(\"@.disabled\", !ctx_r1.animations)(\"width\", bar_r3.width)(\"height\", bar_r3.height)(\"x\", bar_r3.x)(\"y\", bar_r3.y)(\"fill\", bar_r3.color)(\"stops\", bar_r3.gradientStops)(\"data\", bar_r3.data)(\"orientation\", ctx_r1.barOrientation.Vertical)(\"roundEdges\", bar_r3.roundEdges)(\"gradient\", ctx_r1.gradient)(\"ariaLabel\", bar_r3.ariaLabel)(\"isActive\", ctx_r1.isActive(bar_r3.data))(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.tooltipPlacement)(\"tooltipType\", ctx_r1.tooltipType)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : bar_r3.tooltipText)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", bar_r3.data)(\"noBarWhenZero\", ctx_r1.noBarWhenZero)(\"animations\", ctx_r1.animations);\n }\n}\nfunction SeriesVerticalComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, SeriesVerticalComponent__svg_g_0__svg_g_1_Template, 1, 22, \"g\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.bars)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction SeriesVerticalComponent__svg_g_1__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"select\", function SeriesVerticalComponent__svg_g_1__svg_g_1_Template_g_select_0_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function SeriesVerticalComponent__svg_g_1__svg_g_1_Template_g_activate_0_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.activate.emit($event));\n })(\"deactivate\", function SeriesVerticalComponent__svg_g_1__svg_g_1_Template_g_deactivate_0_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.deactivate.emit($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const bar_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"width\", bar_r5.width)(\"height\", bar_r5.height)(\"x\", bar_r5.x)(\"y\", bar_r5.y)(\"fill\", bar_r5.color)(\"stops\", bar_r5.gradientStops)(\"data\", bar_r5.data)(\"orientation\", ctx_r1.barOrientation.Vertical)(\"roundEdges\", bar_r5.roundEdges)(\"gradient\", ctx_r1.gradient)(\"ariaLabel\", bar_r5.ariaLabel)(\"isActive\", ctx_r1.isActive(bar_r5.data))(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.tooltipPlacement)(\"tooltipType\", ctx_r1.tooltipType)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : bar_r5.tooltipText)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", bar_r5.data)(\"noBarWhenZero\", ctx_r1.noBarWhenZero)(\"animations\", ctx_r1.animations);\n }\n}\nfunction SeriesVerticalComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, SeriesVerticalComponent__svg_g_1__svg_g_1_Template, 1, 20, \"g\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.bars)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction SeriesVerticalComponent__svg_g_2__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 4);\n i0.ɵɵlistener(\"dimensionsChanged\", function SeriesVerticalComponent__svg_g_2__svg_g_1_Template_g_dimensionsChanged_0_listener($event) {\n const i_r7 = i0.ɵɵrestoreView(_r6).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.dataLabelHeightChanged.emit({\n size: $event,\n index: i_r7\n }));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const b_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"barX\", b_r8.x)(\"barY\", b_r8.y)(\"barWidth\", b_r8.width)(\"barHeight\", b_r8.height)(\"value\", b_r8.total)(\"valueFormatting\", ctx_r1.dataLabelFormatting)(\"orientation\", ctx_r1.barOrientation.Vertical);\n }\n}\nfunction SeriesVerticalComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, SeriesVerticalComponent__svg_g_2__svg_g_1_Template, 1, 7, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.barsForDataLabels)(\"ngForTrackBy\", ctx_r1.trackDataLabelBy);\n }\n}\nfunction BarVerticalComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks)(\"xAxisOffset\", ctx_r1.dataLabelMaxHeight.negative);\n }\n}\nfunction BarVerticalComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction BarVertical2DComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVertical2DComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.groupScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks)(\"xAxisOffset\", ctx_r1.dataLabelMaxHeight.negative);\n }\n}\nfunction BarVertical2DComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVertical2DComponent__svg_g_4_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.valueScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction BarVertical2DComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 9);\n i0.ɵɵlistener(\"select\", function BarVertical2DComponent__svg_g_5__svg_g_1_Template_g_select_0_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r5));\n })(\"activate\", function BarVertical2DComponent__svg_g_5__svg_g_1_Template_g_activate_0_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r5));\n })(\"deactivate\", function BarVertical2DComponent__svg_g_5__svg_g_1_Template_g_deactivate_0_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r5));\n })(\"dataLabelHeightChanged\", function BarVertical2DComponent__svg_g_5__svg_g_1_Template_g_dataLabelHeightChanged_0_listener($event) {\n const index_r6 = i0.ɵɵrestoreView(_r4).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxHeightChanged($event, index_r6));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const group_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\")(\"activeEntries\", ctx_r1.activeEntries)(\"xScale\", ctx_r1.innerScale)(\"yScale\", ctx_r1.valueScale)(\"colors\", ctx_r1.colors)(\"series\", group_r5.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"seriesName\", group_r5.name)(\"roundEdges\", ctx_r1.roundEdges)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r5));\n }\n}\nfunction BarVertical2DComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarVertical2DComponent__svg_g_5__svg_g_1_Template, 1, 17, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarVertical2DComponent__svg_g_6__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 9);\n i0.ɵɵlistener(\"select\", function BarVertical2DComponent__svg_g_6__svg_g_1_Template_g_select_0_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r8));\n })(\"activate\", function BarVertical2DComponent__svg_g_6__svg_g_1_Template_g_activate_0_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r8));\n })(\"deactivate\", function BarVertical2DComponent__svg_g_6__svg_g_1_Template_g_deactivate_0_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r8));\n })(\"dataLabelHeightChanged\", function BarVertical2DComponent__svg_g_6__svg_g_1_Template_g_dataLabelHeightChanged_0_listener($event) {\n const index_r9 = i0.ɵɵrestoreView(_r7).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxHeightChanged($event, index_r9));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const group_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"activeEntries\", ctx_r1.activeEntries)(\"xScale\", ctx_r1.innerScale)(\"yScale\", ctx_r1.valueScale)(\"colors\", ctx_r1.colors)(\"series\", group_r8.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"seriesName\", group_r8.name)(\"roundEdges\", ctx_r1.roundEdges)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r8));\n }\n}\nfunction BarVertical2DComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarVertical2DComponent__svg_g_6__svg_g_1_Template, 1, 16, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarVerticalNormalizedComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalNormalizedComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction BarVerticalNormalizedComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalNormalizedComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction BarVerticalNormalizedComponent__svg_g_4__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarVerticalNormalizedComponent__svg_g_4__svg_g_1_Template_g_select_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r5));\n })(\"activate\", function BarVerticalNormalizedComponent__svg_g_4__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r5));\n })(\"deactivate\", function BarVerticalNormalizedComponent__svg_g_4__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r5));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r5));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Normalized)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"activeEntries\", ctx_r1.activeEntries)(\"colors\", ctx_r1.colors)(\"series\", group_r5.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r5.name)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarVerticalNormalizedComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarVerticalNormalizedComponent__svg_g_4__svg_g_1_Template, 2, 15, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarVerticalNormalizedComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarVerticalNormalizedComponent__svg_g_5__svg_g_1_Template_g_select_1_listener($event) {\n const group_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r7));\n })(\"activate\", function BarVerticalNormalizedComponent__svg_g_5__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r7));\n })(\"deactivate\", function BarVerticalNormalizedComponent__svg_g_5__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r7));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r7));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Normalized)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"activeEntries\", ctx_r1.activeEntries)(\"colors\", ctx_r1.colors)(\"series\", group_r7.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"seriesName\", group_r7.name)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarVerticalNormalizedComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarVerticalNormalizedComponent__svg_g_5__svg_g_1_Template, 2, 14, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarVerticalStackedComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalStackedComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks)(\"xAxisOffset\", ctx_r1.dataLabelMaxHeight.negative);\n }\n}\nfunction BarVerticalStackedComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BarVerticalStackedComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction BarVerticalStackedComponent__svg_g_4__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarVerticalStackedComponent__svg_g_4__svg_g_1_Template_g_select_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r5));\n })(\"activate\", function BarVerticalStackedComponent__svg_g_4__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r5));\n })(\"deactivate\", function BarVerticalStackedComponent__svg_g_4__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r5));\n })(\"dataLabelHeightChanged\", function BarVerticalStackedComponent__svg_g_4__svg_g_1_Template_g_dataLabelHeightChanged_1_listener($event) {\n const index_r6 = i0.ɵɵrestoreView(_r4).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxHeightChanged($event, index_r6));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r5));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Stacked)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"activeEntries\", ctx_r1.activeEntries)(\"colors\", ctx_r1.colors)(\"series\", group_r5.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"seriesName\", group_r5.name)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarVerticalStackedComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarVerticalStackedComponent__svg_g_4__svg_g_1_Template, 2, 17, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BarVerticalStackedComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 8);\n i0.ɵɵlistener(\"select\", function BarVerticalStackedComponent__svg_g_5__svg_g_1_Template_g_select_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, group_r8));\n })(\"activate\", function BarVerticalStackedComponent__svg_g_5__svg_g_1_Template_g_activate_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event, group_r8));\n })(\"deactivate\", function BarVerticalStackedComponent__svg_g_5__svg_g_1_Template_g_deactivate_1_listener($event) {\n const group_r8 = i0.ɵɵrestoreView(_r7).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event, group_r8));\n })(\"dataLabelHeightChanged\", function BarVerticalStackedComponent__svg_g_5__svg_g_1_Template_g_dataLabelHeightChanged_1_listener($event) {\n const index_r9 = i0.ɵɵrestoreView(_r7).index;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDataLabelMaxHeightChanged($event, index_r9));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const group_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"transform\", ctx_r1.groupTransform(group_r8));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"type\", ctx_r1.barChartType.Stacked)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"activeEntries\", ctx_r1.activeEntries)(\"colors\", ctx_r1.colors)(\"series\", group_r8.series)(\"dims\", ctx_r1.dims)(\"gradient\", ctx_r1.gradient)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"showDataLabel\", ctx_r1.showDataLabel)(\"dataLabelFormatting\", ctx_r1.dataLabelFormatting)(\"seriesName\", group_r8.name)(\"animations\", ctx_r1.animations)(\"noBarWhenZero\", ctx_r1.noBarWhenZero);\n }\n}\nfunction BarVerticalStackedComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BarVerticalStackedComponent__svg_g_5__svg_g_1_Template, 2, 16, \"g\", 7);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c30 = [\"ngx-charts-box\", \"\"];\nfunction BoxComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 5);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"orientation\", ctx_r0.BarOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n }\n}\nfunction BoxComponent__svg_line_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"line\", 6);\n }\n if (rf & 2) {\n const line_r2 = ctx.$implicit;\n const i_r3 = ctx.index;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"hidden\", ctx_r0.hideBar);\n i0.ɵɵattribute(\"x1\", line_r2.v1.x)(\"y1\", line_r2.v1.y)(\"x2\", line_r2.v2.x)(\"y2\", line_r2.v2.y)(\"stroke\", ctx_r0.strokeColor)(\"stroke-width\", i_r3 === 2 ? ctx_r0.medianLineWidth : ctx_r0.whiskerStrokeWidth)(\"mask\", i_r3 ? undefined : ctx_r0.maskLine);\n }\n}\nconst _c31 = [\"ngx-charts-box-series\", \"\"];\nfunction BoxChartComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 5);\n i0.ɵɵlistener(\"activate\", function BoxChartComponent__svg_g_5_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function BoxChartComponent__svg_g_5_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n })(\"select\", function BoxChartComponent__svg_g_5_Template_g_select_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const result_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"roundEdges\", ctx_r1.roundEdges)(\"strokeColor\", ctx_r1.strokeColor)(\"strokeWidth\", ctx_r1.strokeWidth)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"series\", result_r3)(\"dims\", ctx_r1.dims)(\"animations\", ctx_r1.animations)(\"gradient\", ctx_r1.gradient);\n }\n}\nconst _c32 = [\"ngx-charts-bubble-series\", \"\"];\nfunction BubbleSeriesComponent__svg_g_0__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"select\", function BubbleSeriesComponent__svg_g_0__svg_g_2_Template_g_select_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onClick(circle_r2.data));\n })(\"activate\", function BubbleSeriesComponent__svg_g_0__svg_g_2_Template_g_activate_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.activateCircle(circle_r2));\n })(\"deactivate\", function BubbleSeriesComponent__svg_g_0__svg_g_2_Template_g_deactivate_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.deactivateCircle(circle_r2));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"opacity\", circle_r2.opacity);\n i0.ɵɵclassProp(\"active\", circle_r2.isActive);\n i0.ɵɵproperty(\"@animationState\", \"active\")(\"cx\", 0)(\"cy\", 0)(\"r\", circle_r2.radius)(\"fill\", circle_r2.color)(\"pointerEvents\", \"all\")(\"data\", circle_r2.value)(\"classNames\", circle_r2.classNames)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipPlacement\", ctx_r2.placementTypes.Top)(\"tooltipType\", ctx_r2.styleTypes.tooltip)(\"tooltipTitle\", ctx_r2.tooltipTemplate ? undefined : ctx_r2.getTooltipText(circle_r2))(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"tooltipContext\", circle_r2.data);\n }\n}\nfunction BubbleSeriesComponent__svg_g_0__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"select\", function BubbleSeriesComponent__svg_g_0__svg_g_3_Template_g_select_0_listener() {\n i0.ɵɵrestoreView(_r4);\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onClick(circle_r2.data));\n })(\"activate\", function BubbleSeriesComponent__svg_g_0__svg_g_3_Template_g_activate_0_listener() {\n i0.ɵɵrestoreView(_r4);\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.activateCircle(circle_r2));\n })(\"deactivate\", function BubbleSeriesComponent__svg_g_0__svg_g_3_Template_g_deactivate_0_listener() {\n i0.ɵɵrestoreView(_r4);\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.deactivateCircle(circle_r2));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const circle_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"opacity\", circle_r2.opacity);\n i0.ɵɵclassProp(\"active\", circle_r2.isActive);\n i0.ɵɵproperty(\"cx\", 0)(\"cy\", 0)(\"r\", circle_r2.radius)(\"fill\", circle_r2.color)(\"pointerEvents\", \"all\")(\"data\", circle_r2.value)(\"classNames\", circle_r2.classNames)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipPlacement\", ctx_r2.placementTypes.Top)(\"tooltipType\", ctx_r2.styleTypes.tooltip)(\"tooltipTitle\", ctx_r2.tooltipTemplate ? undefined : ctx_r2.getTooltipText(circle_r2))(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"tooltipContext\", circle_r2.data);\n }\n}\nfunction BubbleSeriesComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\");\n i0.ɵɵtemplate(2, BubbleSeriesComponent__svg_g_0__svg_g_2_Template, 1, 18, \"g\", 1)(3, BubbleSeriesComponent__svg_g_0__svg_g_3_Template, 1, 17, \"g\", 1);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const circle_r2 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", circle_r2.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.isSSR);\n }\n}\nfunction BubbleChartComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function BubbleChartComponent__svg_g_5_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"showGridLines\", ctx_r1.showGridLines)(\"dims\", ctx_r1.dims)(\"xScale\", ctx_r1.xScale)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction BubbleChartComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function BubbleChartComponent__svg_g_6_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"showGridLines\", ctx_r1.showGridLines)(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction BubbleChartComponent__svg_g_8__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 9);\n i0.ɵɵlistener(\"select\", function BubbleChartComponent__svg_g_8__svg_g_1_Template_g_select_1_listener($event) {\n const series_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, series_r5));\n })(\"activate\", function BubbleChartComponent__svg_g_8__svg_g_1_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function BubbleChartComponent__svg_g_8__svg_g_1_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"rScale\", ctx_r1.rScale)(\"xScaleType\", ctx_r1.xScaleType)(\"yScaleType\", ctx_r1.yScaleType)(\"xAxisLabel\", ctx_r1.xAxisLabel)(\"yAxisLabel\", ctx_r1.yAxisLabel)(\"colors\", ctx_r1.colors)(\"data\", series_r5)(\"activeEntries\", ctx_r1.activeEntries)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction BubbleChartComponent__svg_g_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BubbleChartComponent__svg_g_8__svg_g_1_Template, 2, 13, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"clip-path\", ctx_r1.clipPath);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.data)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction BubbleChartComponent__svg_g_9__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 9);\n i0.ɵɵlistener(\"select\", function BubbleChartComponent__svg_g_9__svg_g_1_Template_g_select_1_listener($event) {\n const series_r7 = i0.ɵɵrestoreView(_r6).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event, series_r7));\n })(\"activate\", function BubbleChartComponent__svg_g_9__svg_g_1_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function BubbleChartComponent__svg_g_9__svg_g_1_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"rScale\", ctx_r1.rScale)(\"xScaleType\", ctx_r1.xScaleType)(\"yScaleType\", ctx_r1.yScaleType)(\"xAxisLabel\", ctx_r1.xAxisLabel)(\"yAxisLabel\", ctx_r1.yAxisLabel)(\"colors\", ctx_r1.colors)(\"data\", series_r7)(\"activeEntries\", ctx_r1.activeEntries)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction BubbleChartComponent__svg_g_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, BubbleChartComponent__svg_g_9__svg_g_1_Template, 2, 12, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"clip-path\", ctx_r1.clipPath);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.data)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c33 = [\"ngx-charts-heat-map-cell\", \"\"];\nfunction HeatMapCellComponent__svg_defs_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"defs\");\n i0.ɵɵelement(1, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n }\n}\nconst _c34 = [\"ngx-charts-heat-map-cell-series\", \"\"];\nconst _c35 = (a0, a1, a2) => ({\n series: a0,\n name: a1,\n value: a2\n});\nfunction HeatCellSeriesComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 1);\n i0.ɵɵlistener(\"select\", function HeatCellSeriesComponent__svg_g_0_Template_g_select_0_listener() {\n const c_r2 = i0.ɵɵrestoreView(_r1).$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onClick(c_r2.cell));\n })(\"activate\", function HeatCellSeriesComponent__svg_g_0_Template_g_activate_0_listener() {\n const c_r2 = i0.ɵɵrestoreView(_r1).$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.activate.emit(c_r2.cell));\n })(\"deactivate\", function HeatCellSeriesComponent__svg_g_0_Template_g_deactivate_0_listener() {\n const c_r2 = i0.ɵɵrestoreView(_r1).$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.deactivate.emit(c_r2.cell));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const c_r2 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"x\", c_r2.x)(\"y\", c_r2.y)(\"width\", c_r2.width)(\"height\", c_r2.height)(\"fill\", c_r2.fill)(\"data\", c_r2.data)(\"gradient\", ctx_r2.gradient)(\"animations\", ctx_r2.animations)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipPlacement\", ctx_r2.placementTypes.Top)(\"tooltipType\", ctx_r2.styleTypes.tooltip)(\"tooltipTitle\", ctx_r2.tooltipTemplate ? undefined : ctx_r2.tooltipText(c_r2))(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"tooltipContext\", i0.ɵɵpureFunction3(14, _c35, c_r2.series, c_r2.label, c_r2.data));\n }\n}\nfunction HeatMapComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 6);\n i0.ɵɵlistener(\"dimensionsChanged\", function HeatMapComponent__svg_g_2_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction HeatMapComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function HeatMapComponent__svg_g_3_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks);\n }\n}\nfunction HeatMapComponent__svg_rect_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"rect\");\n }\n if (rf & 2) {\n const rect_r4 = ctx.$implicit;\n i0.ɵɵattribute(\"x\", rect_r4.x)(\"y\", rect_r4.y)(\"rx\", rect_r4.rx)(\"width\", rect_r4.width)(\"height\", rect_r4.height)(\"fill\", rect_r4.fill);\n }\n}\nconst _c36 = [\"ngx-charts-line\", \"\"];\nfunction LineComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵattribute(\"d\", ctx_r0.initialPath)(\"fill\", ctx_r0.fill)(\"stroke\", ctx_r0.stroke);\n }\n}\nfunction LineComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"d\", ctx_r0.initialPath)(\"fill\", ctx_r0.fill)(\"stroke\", ctx_r0.stroke);\n }\n}\nconst _c37 = [\"ngx-charts-line-series\", \"\"];\nfunction LineSeriesComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 4);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"orientation\", ctx_r0.barOrientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n }\n}\nfunction LineSeriesComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 5);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"active\", ctx_r0.isActive(ctx_r0.data))(\"inactive\", ctx_r0.isInactive(ctx_r0.data));\n i0.ɵɵproperty(\"data\", ctx_r0.data)(\"path\", ctx_r0.outerPath)(\"fill\", ctx_r0.hasGradient ? ctx_r0.gradientUrl : ctx_r0.colors.getColor(ctx_r0.data.name))(\"opacity\", ctx_r0.rangeFillOpacity)(\"animations\", ctx_r0.animations);\n }\n}\nfunction LineChartComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 7);\n i0.ɵɵlistener(\"dimensionsChanged\", function LineChartComponent__svg_g_5_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateXAxisHeight($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showXAxisLabel)(\"labelText\", ctx_r1.xAxisLabel)(\"trimTicks\", ctx_r1.trimXAxisTicks)(\"rotateTicks\", ctx_r1.rotateXAxisTicks)(\"maxTickLength\", ctx_r1.maxXAxisTickLength)(\"tickFormatting\", ctx_r1.xAxisTickFormatting)(\"ticks\", ctx_r1.xAxisTicks);\n }\n}\nfunction LineChartComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 8);\n i0.ɵɵlistener(\"dimensionsChanged\", function LineChartComponent__svg_g_6_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yScale)(\"dims\", ctx_r1.dims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting)(\"ticks\", ctx_r1.yAxisTicks)(\"referenceLines\", ctx_r1.referenceLines)(\"showRefLines\", ctx_r1.showRefLines)(\"showRefLabels\", ctx_r1.showRefLabels);\n }\n}\nfunction LineChartComponent__svg_g_8__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 10);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r4 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r4)(\"activeEntries\", ctx_r1.activeEntries)(\"scaleType\", ctx_r1.scaleType)(\"curve\", ctx_r1.curve)(\"rangeFillOpacity\", ctx_r1.rangeFillOpacity)(\"hasRange\", ctx_r1.hasRange)(\"animations\", ctx_r1.animations);\n }\n}\nfunction LineChartComponent__svg_g_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, LineChartComponent__svg_g_8__svg_g_1_Template, 2, 11, \"g\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction LineChartComponent__svg_g_9__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 10);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r5)(\"activeEntries\", ctx_r1.activeEntries)(\"scaleType\", ctx_r1.scaleType)(\"curve\", ctx_r1.curve)(\"rangeFillOpacity\", ctx_r1.rangeFillOpacity)(\"hasRange\", ctx_r1.hasRange)(\"animations\", ctx_r1.animations);\n }\n}\nfunction LineChartComponent__svg_g_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, LineChartComponent__svg_g_9__svg_g_1_Template, 2, 10, \"g\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction LineChartComponent__svg_g_10__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 14);\n i0.ɵɵlistener(\"select\", function LineChartComponent__svg_g_10__svg_g_2_Template_g_select_1_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function LineChartComponent__svg_g_10__svg_g_2_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function LineChartComponent__svg_g_10__svg_g_2_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r8)(\"scaleType\", ctx_r1.scaleType)(\"visibleValue\", ctx_r1.hoveredVertical)(\"activeEntries\", ctx_r1.activeEntries)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction LineChartComponent__svg_g_10_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 11);\n i0.ɵɵlistener(\"mouseleave\", function LineChartComponent__svg_g_10_Template_g_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.hideCircles());\n });\n i0.ɵɵelementStart(1, \"g\", 12);\n i0.ɵɵlistener(\"hover\", function LineChartComponent__svg_g_10_Template_g_hover_1_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateHoveredVertical($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, LineChartComponent__svg_g_10__svg_g_2_Template, 2, 9, \"g\", 13);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"dims\", ctx_r1.dims)(\"xSet\", ctx_r1.xSet)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"results\", ctx_r1.results)(\"colors\", ctx_r1.colors)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.seriesTooltipTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results);\n }\n}\nfunction LineChartComponent__svg_g_11__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵelement(1, \"g\", 16);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r10 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx_r1.timelineXScale)(\"yScale\", ctx_r1.timelineYScale)(\"colors\", ctx_r1.colors)(\"data\", series_r10)(\"scaleType\", ctx_r1.scaleType)(\"curve\", ctx_r1.curve)(\"hasRange\", ctx_r1.hasRange)(\"animations\", ctx_r1.animations);\n }\n}\nfunction LineChartComponent__svg_g_11_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 15);\n i0.ɵɵlistener(\"onDomainChange\", function LineChartComponent__svg_g_11_Template_g_onDomainChange_0_listener($event) {\n i0.ɵɵrestoreView(_r9);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateDomain($event));\n });\n i0.ɵɵtemplate(1, LineChartComponent__svg_g_11__svg_g_1_Template, 2, 8, \"g\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"results\", ctx_r1.results)(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx_r1.timelineWidth, ctx_r1.height))(\"height\", ctx_r1.timelineHeight)(\"scheme\", ctx_r1.scheme)(\"customColors\", ctx_r1.customColors)(\"scaleType\", ctx_r1.scaleType)(\"legend\", ctx_r1.legend);\n i0.ɵɵattribute(\"transform\", ctx_r1.timelineTransform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c38 = [\"ngx-charts-pie-label\", \"\"];\nconst _c39 = [\"ngx-charts-polar-series\", \"\"];\nfunction PolarSeriesComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 4);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"color\", ctx_r0.seriesColor)(\"name\", ctx_r0.gradientId)(\"startOpacity\", 0.25)(\"endOpacity\", 1)(\"stops\", ctx_r0.gradientStops);\n }\n}\nfunction PolarSeriesComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 5);\n i0.ɵɵlistener(\"select\", function PolarSeriesComponent__svg_g_4_Template_g_select_0_listener() {\n const circle_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.select.emit(circle_r3.data));\n })(\"activate\", function PolarSeriesComponent__svg_g_4_Template_g_activate_0_listener() {\n const circle_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.activate.emit({\n name: circle_r3.data.series\n }));\n })(\"deactivate\", function PolarSeriesComponent__svg_g_4_Template_g_deactivate_0_listener() {\n const circle_r3 = i0.ɵɵrestoreView(_r2).$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.deactivate.emit({\n name: circle_r3.data.series\n }));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const circle_r3 = ctx.$implicit;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"opacity\", ctx_r0.inactive ? 0.2 : 1);\n i0.ɵɵproperty(\"cx\", circle_r3.cx)(\"cy\", circle_r3.cy)(\"r\", ctx_r0.circleRadius)(\"fill\", circle_r3.color)(\"tooltipDisabled\", ctx_r0.tooltipDisabled)(\"tooltipPlacement\", ctx_r0.placementTypes.Top)(\"tooltipType\", ctx_r0.styleTypes.tooltip)(\"tooltipTitle\", ctx_r0.tooltipTemplate ? undefined : ctx_r0.tooltipText(circle_r3))(\"tooltipTemplate\", ctx_r0.tooltipTemplate)(\"tooltipContext\", circle_r3.data);\n }\n}\nfunction PolarChartComponent__svg_g_4__svg_circle_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"circle\", 7);\n }\n if (rf & 2) {\n const r_r1 = ctx.$implicit;\n i0.ɵɵattribute(\"r\", r_r1);\n }\n}\nfunction PolarChartComponent__svg_g_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, PolarChartComponent__svg_g_4__svg_circle_1_Template, 1, 1, \"circle\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.radiusTicks);\n }\n}\nfunction PolarChartComponent__svg_g_5__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 9);\n }\n if (rf & 2) {\n const tick_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"data\", tick_r3)(\"radius\", ctx_r1.outerRadius)(\"label\", tick_r3.label)(\"max\", ctx_r1.outerRadius)(\"value\", ctx_r1.showGridLines ? 1 : ctx_r1.outerRadius)(\"explodeSlices\", true)(\"animations\", ctx_r1.animations)(\"labelTrim\", ctx_r1.labelTrim)(\"labelTrimSize\", ctx_r1.labelTrimSize);\n }\n}\nfunction PolarChartComponent__svg_g_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, PolarChartComponent__svg_g_5__svg_g_1_Template, 1, 9, \"g\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.thetaTicks);\n }\n}\nfunction PolarChartComponent__svg_g_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 10);\n i0.ɵɵlistener(\"dimensionsChanged\", function PolarChartComponent__svg_g_6_Template_g_dimensionsChanged_0_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.updateYAxisWidth($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"yScale\", ctx_r1.yAxisScale)(\"dims\", ctx_r1.yAxisDims)(\"showGridLines\", ctx_r1.showGridLines)(\"showLabel\", ctx_r1.showYAxisLabel)(\"labelText\", ctx_r1.yAxisLabel)(\"trimTicks\", ctx_r1.trimYAxisTicks)(\"maxTickLength\", ctx_r1.maxYAxisTickLength)(\"tickFormatting\", ctx_r1.yAxisTickFormatting);\n i0.ɵɵattribute(\"transform\", ctx_r1.transformYAxis);\n }\n}\nfunction PolarChartComponent__svg_g_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 11);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"label\", ctx_r1.xAxisLabel)(\"offset\", ctx_r1.labelOffset)(\"orient\", ctx_r1.orientation.Bottom)(\"height\", ctx_r1.dims.height)(\"width\", ctx_r1.dims.width);\n }\n}\nfunction PolarChartComponent__svg_g_8__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n i0.ɵɵlistener(\"select\", function PolarChartComponent__svg_g_8__svg_g_1_Template_g_select_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function PolarChartComponent__svg_g_8__svg_g_1_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function PolarChartComponent__svg_g_8__svg_g_1_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r6 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"@animationState\", \"active\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"gradient\", ctx_r1.gradient)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r6)(\"activeEntries\", ctx_r1.activeEntries)(\"scaleType\", ctx_r1.scaleType)(\"curve\", ctx_r1.curve)(\"rangeFillOpacity\", ctx_r1.rangeFillOpacity)(\"animations\", ctx_r1.animations)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction PolarChartComponent__svg_g_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, PolarChartComponent__svg_g_8__svg_g_1_Template, 2, 13, \"g\", 12);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transformPlot);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nfunction PolarChartComponent__svg_g_9__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 13);\n i0.ɵɵlistener(\"select\", function PolarChartComponent__svg_g_9__svg_g_1_Template_g_select_1_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function PolarChartComponent__svg_g_9__svg_g_1_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function PolarChartComponent__svg_g_9__svg_g_1_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const series_r8 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"gradient\", ctx_r1.gradient)(\"xScale\", ctx_r1.xScale)(\"yScale\", ctx_r1.yScale)(\"colors\", ctx_r1.colors)(\"data\", series_r8)(\"activeEntries\", ctx_r1.activeEntries)(\"scaleType\", ctx_r1.scaleType)(\"curve\", ctx_r1.curve)(\"rangeFillOpacity\", ctx_r1.rangeFillOpacity)(\"animations\", ctx_r1.animations)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate);\n }\n}\nfunction PolarChartComponent__svg_g_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, PolarChartComponent__svg_g_9__svg_g_1_Template, 2, 12, \"g\", 12);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transformPlot);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.results)(\"ngForTrackBy\", ctx_r1.trackBy);\n }\n}\nconst _c40 = [\"ngx-charts-pie-arc\", \"\"];\nfunction PieArcComponent__svg_defs_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"defs\");\n i0.ɵɵelement(1, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"color\", ctx_r0.fill)(\"name\", ctx_r0.radialGradientId)(\"startOpacity\", ctx_r0.startOpacity);\n }\n}\nconst _c41 = [\"ngx-charts-pie-series\", \"\"];\nfunction PieSeriesComponent__svg_g_0__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 3);\n }\n if (rf & 2) {\n const arc_r2 = i0.ɵɵnextContext().$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"data\", arc_r2)(\"radius\", ctx_r2.outerRadius)(\"color\", ctx_r2.color(arc_r2))(\"label\", ctx_r2.labelText(arc_r2))(\"labelTrim\", ctx_r2.trimLabels)(\"labelTrimSize\", ctx_r2.maxLabelLength)(\"max\", ctx_r2.max)(\"value\", arc_r2.value)(\"explodeSlices\", ctx_r2.explodeSlices)(\"animations\", ctx_r2.animations);\n }\n}\nfunction PieSeriesComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, PieSeriesComponent__svg_g_0__svg_g_1_Template, 1, 10, \"g\", 1);\n i0.ɵɵelementStart(2, \"g\", 2);\n i0.ɵɵlistener(\"select\", function PieSeriesComponent__svg_g_0_Template_g_select_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onClick($event));\n })(\"activate\", function PieSeriesComponent__svg_g_0_Template_g_activate_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.activate.emit($event));\n })(\"deactivate\", function PieSeriesComponent__svg_g_0_Template_g_deactivate_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.deactivate.emit($event));\n })(\"dblclick\", function PieSeriesComponent__svg_g_0_Template_g_dblclick_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.dblclick.emit($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const arc_r2 = ctx.$implicit;\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.labelVisible(arc_r2));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"startAngle\", arc_r2.startAngle)(\"endAngle\", arc_r2.endAngle)(\"innerRadius\", ctx_r2.innerRadius)(\"outerRadius\", ctx_r2.outerRadius)(\"fill\", ctx_r2.color(arc_r2))(\"value\", arc_r2.data.value)(\"gradient\", ctx_r2.gradient)(\"data\", arc_r2.data)(\"max\", ctx_r2.max)(\"explodeSlices\", ctx_r2.explodeSlices)(\"isActive\", ctx_r2.isActive(arc_r2.data))(\"animate\", ctx_r2.animations)(\"tooltipDisabled\", ctx_r2.tooltipDisabled)(\"tooltipPlacement\", ctx_r2.placementTypes.Top)(\"tooltipType\", ctx_r2.styleTypes.tooltip)(\"tooltipTitle\", ctx_r2.getTooltipTitle(arc_r2))(\"tooltipTemplate\", ctx_r2.tooltipTemplate)(\"tooltipContext\", arc_r2.data);\n }\n}\nconst _c42 = \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\\n\";\nconst _c43 = [\"ngx-charts-pie-grid-series\", \"\"];\nfunction PieGridSeriesComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵlistener(\"select\", function PieGridSeriesComponent__svg_g_1_Template_g_select_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function PieGridSeriesComponent__svg_g_1_Template_g_activate_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.activate.emit($event));\n })(\"deactivate\", function PieGridSeriesComponent__svg_g_1_Template_g_deactivate_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.deactivate.emit($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const arc_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"startAngle\", arc_r3.startAngle)(\"endAngle\", arc_r3.endAngle)(\"innerRadius\", ctx_r1.innerRadius)(\"outerRadius\", ctx_r1.outerRadius)(\"fill\", ctx_r1.color(arc_r3))(\"value\", arc_r3.data.value)(\"data\", arc_r3.data)(\"gradient\", false)(\"pointerEvents\", arc_r3.pointerEvents)(\"animate\", arc_r3.animate);\n i0.ɵɵattribute(\"class\", arc_r3.class);\n }\n}\nconst _c44 = a0 => ({\n data: a0\n});\nfunction PieGridComponent__svg_g_2__svg_text_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"text\", 10);\n }\n if (rf & 2) {\n const series_r3 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵproperty(\"countTo\", series_r3.percent)(\"countSuffix\", \"%\");\n }\n}\nfunction PieGridComponent__svg_g_2__svg_text_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"text\", 11);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r3 = i0.ɵɵnextContext().$implicit;\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", series_r3.percent.toLocaleString(), \" \");\n }\n}\nfunction PieGridComponent__svg_g_2__svg_text_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"text\", 12);\n }\n if (rf & 2) {\n const series_r3 = i0.ɵɵnextContext().$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"countTo\", series_r3.total)(\"countPrefix\", ctx_r1.label + \": \");\n i0.ɵɵattribute(\"y\", series_r3.outerRadius);\n }\n}\nfunction PieGridComponent__svg_g_2__svg_text_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"text\", 13);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r3 = i0.ɵɵnextContext().$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"y\", series_r3.outerRadius);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate2(\" \", ctx_r1.label, \": \", series_r3.total.toLocaleString(), \" \");\n }\n}\nfunction PieGridComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 3)(1, \"g\", 4);\n i0.ɵɵlistener(\"select\", function PieGridComponent__svg_g_2_Template_g_select_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function PieGridComponent__svg_g_2_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function PieGridComponent__svg_g_2_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, PieGridComponent__svg_g_2__svg_text_2_Template, 1, 2, \"text\", 5)(3, PieGridComponent__svg_g_2__svg_text_3_Template, 2, 1, \"text\", 6);\n i0.ɵɵelementStart(4, \"text\", 7);\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, PieGridComponent__svg_g_2__svg_text_6_Template, 1, 3, \"text\", 8)(7, PieGridComponent__svg_g_2__svg_text_7_Template, 2, 3, \"text\", 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const series_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", series_r3.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"colors\", series_r3.colors)(\"data\", series_r3.data)(\"innerRadius\", series_r3.innerRadius)(\"outerRadius\", series_r3.outerRadius)(\"animations\", ctx_r1.animations)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.placementTypes.Top)(\"tooltipType\", ctx_r1.styleTypes.tooltip)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : ctx_r1.tooltipText(i0.ɵɵpureFunction1(17, _c44, series_r3)))(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", series_r3.data[0].data);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", series_r3.label, \" \");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.animations);\n }\n}\nconst _c45 = [\"textEl\"];\nconst _c46 = [\"ngx-charts-card\", \"\"];\nfunction CardComponent__svg_path_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"path\", 7);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"fill\", ctx_r1.bandColor)(\"transform\", ctx_r1.transformBand)(\"d\", ctx_r1.bandPath);\n }\n}\nconst _c47 = [\"ngx-charts-card-series\", \"\"];\nfunction CardSeriesComponent__svg_rect_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"rect\", 2);\n }\n if (rf & 2) {\n const c_r1 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"fill\", ctx_r1.emptyColor);\n i0.ɵɵattribute(\"x\", c_r1.x)(\"y\", c_r1.y)(\"width\", c_r1.width)(\"height\", c_r1.height);\n }\n}\nfunction CardSeriesComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 3);\n i0.ɵɵlistener(\"select\", function CardSeriesComponent__svg_g_1_Template_g_select_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const c_r4 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"x\", c_r4.x)(\"y\", c_r4.y)(\"width\", c_r4.width)(\"height\", c_r4.height)(\"color\", c_r4.color)(\"bandColor\", c_r4.bandColor)(\"textColor\", c_r4.textColor)(\"data\", c_r4.data)(\"label\", c_r4.label)(\"medianSize\", ctx_r1.medianSize)(\"valueFormatting\", ctx_r1.valueFormatting)(\"labelFormatting\", ctx_r1.labelFormatting)(\"animations\", ctx_r1.animations);\n }\n}\nconst _c48 = [\"ngx-charts-tree-map-cell\", \"\"];\nfunction TreeMapCellComponent__svg_defs_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"defs\");\n i0.ɵɵelement(1, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"orientation\", ctx_r0.orientation.Vertical)(\"name\", ctx_r0.gradientId)(\"stops\", ctx_r0.gradientStops);\n }\n}\nfunction TreeMapCellComponent__svg_foreignObject_3_span_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 8);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"countTo\", ctx_r0.value)(\"valueFormatting\", ctx_r0.valueFormatting);\n }\n}\nfunction TreeMapCellComponent__svg_foreignObject_3_span_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 9);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r0.formattedValue, \" \");\n }\n}\nfunction TreeMapCellComponent__svg_foreignObject_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"foreignObject\", 4);\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(1, \"p\");\n i0.ɵɵelement(2, \"span\", 5)(3, \"br\");\n i0.ɵɵtemplate(4, TreeMapCellComponent__svg_foreignObject_3_span_4_Template, 1, 2, \"span\", 6)(5, TreeMapCellComponent__svg_foreignObject_3_span_5_Template, 2, 1, \"span\", 7);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"pointer-events\", \"none\");\n i0.ɵɵattribute(\"x\", ctx_r0.x)(\"y\", ctx_r0.y)(\"width\", ctx_r0.width)(\"height\", ctx_r0.height);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"color\", ctx_r0.getTextColor())(\"height\", ctx_r0.height + \"px\")(\"width\", ctx_r0.width + \"px\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"innerHTML\", ctx_r0.formattedLabel, i0.ɵɵsanitizeHtml);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.animations);\n }\n}\nconst _c49 = [\"ngx-charts-tree-map-cell-series\", \"\"];\nfunction TreeMapCellSeriesComponent__svg_g_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 1);\n i0.ɵɵlistener(\"select\", function TreeMapCellSeriesComponent__svg_g_0_Template_g_select_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const c_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"data\", c_r3.data)(\"x\", c_r3.x)(\"y\", c_r3.y)(\"width\", c_r3.width)(\"height\", c_r3.height)(\"fill\", c_r3.fill)(\"label\", c_r3.label)(\"value\", c_r3.value)(\"valueFormatting\", ctx_r1.valueFormatting)(\"labelFormatting\", ctx_r1.labelFormatting)(\"gradient\", ctx_r1.gradient)(\"animations\", ctx_r1.animations)(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipPlacement\", ctx_r1.placementTypes.Top)(\"tooltipType\", ctx_r1.styleTypes.tooltip)(\"tooltipTitle\", ctx_r1.tooltipTemplate ? undefined : ctx_r1.getTooltipText(c_r3))(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"tooltipContext\", c_r3.data);\n }\n}\nconst _c50 = [\"valueTextEl\"];\nconst _c51 = [\"unitsTextEl\"];\nconst _c52 = () => ({});\nfunction LinearGaugeComponent__svg_line_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"line\", 10);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transformLine)(\"stroke\", ctx_r1.colors.getColor(ctx_r1.units));\n }\n}\nfunction LinearGaugeComponent__svg_line_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"line\", 11);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.transformLine)(\"stroke\", ctx_r1.colors.getColor(ctx_r1.units));\n }\n}\nconst _c53 = [\"ngx-charts-gauge-arc\", \"\"];\nconst _c54 = [\"ngx-charts-gauge-axis\", \"\"];\nfunction GaugeAxisComponent__svg_g_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2);\n i0.ɵɵelement(1, \"path\");\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tick_r1 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"d\", tick_r1.line);\n }\n}\nfunction GaugeAxisComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 2)(1, \"text\", 3);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const tick_r2 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"text-anchor\", tick_r2.textAnchor);\n i0.ɵɵattribute(\"transform\", tick_r2.textTransform);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", tick_r2.text, \" \");\n }\n}\nfunction GaugeAxisComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 4);\n i0.ɵɵelement(1, \"path\");\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const tick_r3 = ctx.$implicit;\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"d\", tick_r3.line);\n }\n}\nfunction GaugeComponent__svg_g_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"g\", 6);\n i0.ɵɵlistener(\"select\", function GaugeComponent__svg_g_2_Template_g_select_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onClick($event));\n })(\"activate\", function GaugeComponent__svg_g_2_Template_g_activate_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onActivate($event));\n })(\"deactivate\", function GaugeComponent__svg_g_2_Template_g_deactivate_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onDeactivate($event));\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const arc_r3 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"transform\", ctx_r1.rotation);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"backgroundArc\", arc_r3.backgroundArc)(\"valueArc\", arc_r3.valueArc)(\"cornerRadius\", ctx_r1.cornerRadius)(\"colors\", ctx_r1.colors)(\"isActive\", ctx_r1.isActive(arc_r3.valueArc.data))(\"tooltipDisabled\", ctx_r1.tooltipDisabled)(\"tooltipTemplate\", ctx_r1.tooltipTemplate)(\"valueFormatting\", ctx_r1.valueFormatting)(\"animations\", ctx_r1.animations);\n }\n}\nfunction GaugeComponent__svg_g_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 7);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"bigSegments\", ctx_r1.bigSegments)(\"smallSegments\", ctx_r1.smallSegments)(\"min\", ctx_r1.min)(\"max\", ctx_r1.max)(\"radius\", ctx_r1.outerRadius)(\"angleSpan\", ctx_r1.angleSpan)(\"valueScale\", ctx_r1.valueScale)(\"startAngle\", ctx_r1.startAngle)(\"tickFormatting\", ctx_r1.axisTickFormatting);\n }\n}\nfunction GaugeComponent__svg_text_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"text\", 8, 0)(2, \"tspan\", 9);\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"tspan\", 10);\n i0.ɵɵtext(5);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"text-anchor\", \"middle\");\n i0.ɵɵattribute(\"transform\", ctx_r1.textTransform);\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(ctx_r1.displayValue);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.units);\n }\n}\nfunction throttle(func, wait, options) {\n options = options || {};\n let context;\n let args;\n let result;\n let timeout = null;\n let previous = 0;\n function later() {\n previous = options.leading === false ? 0 : +new Date();\n timeout = null;\n result = func.apply(context, args);\n }\n return function () {\n const now = +new Date();\n if (!previous && options.leading === false) {\n previous = now;\n }\n const remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n}\n/**\n * Throttle decorator\n *\n * class MyClass {\n * throttleable(10)\n * myFn() { ... }\n * }\n */\nfunction throttleable(duration, options) {\n return function innerDecorator(target, key, descriptor) {\n return {\n configurable: true,\n enumerable: descriptor.enumerable,\n get: function getter() {\n Object.defineProperty(this, key, {\n configurable: true,\n enumerable: descriptor.enumerable,\n value: throttle(descriptor.value, duration, options)\n });\n return this[key];\n }\n };\n };\n}\nvar PlacementTypes = /*#__PURE__*/function (PlacementTypes) {\n PlacementTypes[\"Top\"] = \"top\";\n PlacementTypes[\"Bottom\"] = \"bottom\";\n PlacementTypes[\"Left\"] = \"left\";\n PlacementTypes[\"Right\"] = \"right\";\n PlacementTypes[\"Center\"] = \"center\";\n return PlacementTypes;\n}(PlacementTypes || {});\nconst caretOffset = 7;\nfunction verticalPosition(elDimensions, popoverDimensions, alignment) {\n if (alignment === PlacementTypes.Top) {\n return elDimensions.top - caretOffset;\n }\n if (alignment === PlacementTypes.Bottom) {\n return elDimensions.top + elDimensions.height - popoverDimensions.height + caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n return elDimensions.top + elDimensions.height / 2 - popoverDimensions.height / 2;\n }\n return undefined;\n}\nfunction horizontalPosition(elDimensions, popoverDimensions, alignment) {\n if (alignment === PlacementTypes.Left) {\n return elDimensions.left - caretOffset;\n }\n if (alignment === PlacementTypes.Right) {\n return elDimensions.left + elDimensions.width - popoverDimensions.width + caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n return elDimensions.left + elDimensions.width / 2 - popoverDimensions.width / 2;\n }\n return undefined;\n}\n/**\n * Position helper for the popover directive.\n *\n * @export\n */\nclass PositionHelper {\n /**\n * Calculate vertical alignment position\n *\n * @memberOf PositionHelper\n */\n static calculateVerticalAlignment(elDimensions, popoverDimensions, alignment) {\n let result = verticalPosition(elDimensions, popoverDimensions, alignment);\n if (result + popoverDimensions.height > window.innerHeight) {\n result = window.innerHeight - popoverDimensions.height;\n }\n return result;\n }\n /**\n * Calculate vertical caret position\n *\n * @memberOf PositionHelper\n */\n static calculateVerticalCaret(elDimensions, popoverDimensions, caretDimensions, alignment) {\n let result;\n if (alignment === PlacementTypes.Top) {\n result = elDimensions.height / 2 - caretDimensions.height / 2 + caretOffset;\n }\n if (alignment === PlacementTypes.Bottom) {\n result = popoverDimensions.height - elDimensions.height / 2 - caretDimensions.height / 2 - caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n result = popoverDimensions.height / 2 - caretDimensions.height / 2;\n }\n const popoverPosition = verticalPosition(elDimensions, popoverDimensions, alignment);\n if (popoverPosition + popoverDimensions.height > window.innerHeight) {\n result += popoverPosition + popoverDimensions.height - window.innerHeight;\n }\n return result;\n }\n /**\n * Calculate horz alignment position\n *\n * @memberOf PositionHelper\n */\n static calculateHorizontalAlignment(elDimensions, popoverDimensions, alignment) {\n let result = horizontalPosition(elDimensions, popoverDimensions, alignment);\n if (result + popoverDimensions.width > window.innerWidth) {\n result = window.innerWidth - popoverDimensions.width;\n }\n return result;\n }\n /**\n * Calculate horz caret position\n *\n * @memberOf PositionHelper\n */\n static calculateHorizontalCaret(elDimensions, popoverDimensions, caretDimensions, alignment) {\n let result;\n if (alignment === PlacementTypes.Left) {\n result = elDimensions.width / 2 - caretDimensions.width / 2 + caretOffset;\n }\n if (alignment === PlacementTypes.Right) {\n result = popoverDimensions.width - elDimensions.width / 2 - caretDimensions.width / 2 - caretOffset;\n }\n if (alignment === PlacementTypes.Center) {\n result = popoverDimensions.width / 2 - caretDimensions.width / 2;\n }\n const popoverPosition = horizontalPosition(elDimensions, popoverDimensions, alignment);\n if (popoverPosition + popoverDimensions.width > window.innerWidth) {\n result += popoverPosition + popoverDimensions.width - window.innerWidth;\n }\n return result;\n }\n /**\n * Checks if the element's position should be flipped\n *\n * @memberOf PositionHelper\n */\n static shouldFlip(elDimensions, popoverDimensions, placement, spacing) {\n let flip = false;\n if (placement === PlacementTypes.Right) {\n if (elDimensions.left + elDimensions.width + popoverDimensions.width + spacing > window.innerWidth) {\n flip = true;\n }\n }\n if (placement === PlacementTypes.Left) {\n if (elDimensions.left - popoverDimensions.width - spacing < 0) {\n flip = true;\n }\n }\n if (placement === PlacementTypes.Top) {\n if (elDimensions.top - popoverDimensions.height - spacing < 0) {\n flip = true;\n }\n }\n if (placement === PlacementTypes.Bottom) {\n if (elDimensions.top + elDimensions.height + popoverDimensions.height + spacing > window.innerHeight) {\n flip = true;\n }\n }\n return flip;\n }\n /**\n * Position caret\n *\n * @memberOf PositionHelper\n */\n static positionCaret(placement, elmDim, hostDim, caretDimensions, alignment) {\n let top = 0;\n let left = 0;\n if (placement === PlacementTypes.Right) {\n left = -7;\n top = PositionHelper.calculateVerticalCaret(hostDim, elmDim, caretDimensions, alignment);\n } else if (placement === PlacementTypes.Left) {\n left = elmDim.width;\n top = PositionHelper.calculateVerticalCaret(hostDim, elmDim, caretDimensions, alignment);\n } else if (placement === PlacementTypes.Top) {\n top = elmDim.height;\n left = PositionHelper.calculateHorizontalCaret(hostDim, elmDim, caretDimensions, alignment);\n } else if (placement === PlacementTypes.Bottom) {\n top = -7;\n left = PositionHelper.calculateHorizontalCaret(hostDim, elmDim, caretDimensions, alignment);\n }\n return {\n top,\n left\n };\n }\n /**\n * Position content\n *\n * @memberOf PositionHelper\n */\n static positionContent(placement, elmDim, hostDim, spacing, alignment) {\n let top = 0;\n let left = 0;\n if (placement === PlacementTypes.Right) {\n left = hostDim.left + hostDim.width + spacing;\n top = PositionHelper.calculateVerticalAlignment(hostDim, elmDim, alignment);\n } else if (placement === PlacementTypes.Left) {\n left = hostDim.left - elmDim.width - spacing;\n top = PositionHelper.calculateVerticalAlignment(hostDim, elmDim, alignment);\n } else if (placement === PlacementTypes.Top) {\n top = hostDim.top - elmDim.height - spacing;\n left = PositionHelper.calculateHorizontalAlignment(hostDim, elmDim, alignment);\n } else if (placement === PlacementTypes.Bottom) {\n top = hostDim.top + hostDim.height + spacing;\n left = PositionHelper.calculateHorizontalAlignment(hostDim, elmDim, alignment);\n }\n return {\n top,\n left\n };\n }\n /**\n * Determine placement based on flip\n *\n * @memberOf PositionHelper\n */\n static determinePlacement(placement, elmDim, hostDim, spacing) {\n const shouldFlip = PositionHelper.shouldFlip(hostDim, elmDim, placement, spacing);\n if (shouldFlip) {\n if (placement === PlacementTypes.Right) {\n return PlacementTypes.Left;\n } else if (placement === PlacementTypes.Left) {\n return PlacementTypes.Right;\n } else if (placement === PlacementTypes.Top) {\n return PlacementTypes.Bottom;\n } else if (placement === PlacementTypes.Bottom) {\n return PlacementTypes.Top;\n }\n }\n return placement;\n }\n}\nlet TooltipContentComponent = /*#__PURE__*/(() => {\n class TooltipContentComponent {\n constructor(element, renderer, platformId) {\n this.element = element;\n this.renderer = renderer;\n this.platformId = platformId;\n }\n get cssClasses() {\n let clz = 'ngx-charts-tooltip-content';\n clz += ` position-${this.placement}`;\n clz += ` type-${this.type}`;\n clz += ` ${this.cssClass}`;\n return clz;\n }\n ngAfterViewInit() {\n setTimeout(this.position.bind(this));\n }\n position() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const nativeElm = this.element.nativeElement;\n const hostDim = this.host.nativeElement.getBoundingClientRect();\n // if no dims were found, never show\n if (!hostDim.height && !hostDim.width) return;\n const elmDim = nativeElm.getBoundingClientRect();\n this.checkFlip(hostDim, elmDim);\n this.positionContent(nativeElm, hostDim, elmDim);\n if (this.showCaret) {\n this.positionCaret(hostDim, elmDim);\n }\n // animate its entry\n setTimeout(() => this.renderer.addClass(nativeElm, 'animate'), 1);\n }\n positionContent(nativeElm, hostDim, elmDim) {\n const {\n top,\n left\n } = PositionHelper.positionContent(this.placement, elmDim, hostDim, this.spacing, this.alignment);\n this.renderer.setStyle(nativeElm, 'top', `${top}px`);\n this.renderer.setStyle(nativeElm, 'left', `${left}px`);\n }\n positionCaret(hostDim, elmDim) {\n const caretElm = this.caretElm.nativeElement;\n const caretDimensions = caretElm.getBoundingClientRect();\n const {\n top,\n left\n } = PositionHelper.positionCaret(this.placement, elmDim, hostDim, caretDimensions, this.alignment);\n this.renderer.setStyle(caretElm, 'top', `${top}px`);\n this.renderer.setStyle(caretElm, 'left', `${left}px`);\n }\n checkFlip(hostDim, elmDim) {\n this.placement = PositionHelper.determinePlacement(this.placement, elmDim, hostDim, this.spacing);\n }\n onWindowResize() {\n this.position();\n }\n }\n TooltipContentComponent.ɵfac = function TooltipContentComponent_Factory(t) {\n return new (t || TooltipContentComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n TooltipContentComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TooltipContentComponent,\n selectors: [[\"ngx-tooltip-content\"]],\n viewQuery: function TooltipContentComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.caretElm = _t.first);\n }\n },\n hostVars: 2,\n hostBindings: function TooltipContentComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"resize\", function TooltipContentComponent_resize_HostBindingHandler() {\n return ctx.onWindowResize();\n }, false, i0.ɵɵresolveWindow);\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.cssClasses);\n }\n },\n inputs: {\n host: \"host\",\n showCaret: \"showCaret\",\n type: \"type\",\n placement: \"placement\",\n alignment: \"alignment\",\n spacing: \"spacing\",\n cssClass: \"cssClass\",\n title: \"title\",\n template: \"template\",\n context: \"context\"\n },\n decls: 6,\n vars: 6,\n consts: [[\"caretElm\", \"\"], [3, \"hidden\"], [1, \"tooltip-content\"], [4, \"ngIf\"], [3, \"innerHTML\", 4, \"ngIf\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"innerHTML\"]],\n template: function TooltipContentComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵelement(1, \"span\", 1, 0);\n i0.ɵɵelementStart(3, \"div\", 2);\n i0.ɵɵtemplate(4, TooltipContentComponent_span_4_Template, 2, 4, \"span\", 3)(5, TooltipContentComponent_span_5_Template, 1, 1, \"span\", 4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵclassMapInterpolate1(\"tooltip-caret position-\", ctx.placement, \"\");\n i0.ɵɵproperty(\"hidden\", !ctx.showCaret);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", !ctx.title);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.title);\n }\n },\n dependencies: [i2.NgIf, i2.NgTemplateOutlet],\n styles: [\".ngx-charts-tooltip-content{position:fixed;border-radius:3px;z-index:5000;display:block;font-weight:400;opacity:0;pointer-events:none!important}.ngx-charts-tooltip-content.type-popover{background:#fff;color:#060709;border:1px solid #72809b;box-shadow:0 1px 3px #0003,0 1px 1px #00000024,0 2px 1px -1px #0000001f;font-size:13px;padding:4px}.ngx-charts-tooltip-content.type-popover .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid #fff}.ngx-charts-tooltip-content.type-popover .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #fff}.ngx-charts-tooltip-content.type-tooltip{color:#fff;background:rgba(0,0,0,.75);font-size:12px;padding:0 10px;text-align:center;pointer-events:auto}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-left{border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-top{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-right{border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content.type-tooltip .tooltip-caret.position-bottom{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.75)}.ngx-charts-tooltip-content .tooltip-label{display:block;line-height:1em;padding:8px 5px 5px;font-size:1em}.ngx-charts-tooltip-content .tooltip-val{display:block;font-size:1.3em;line-height:1em;padding:0 5px 8px}.ngx-charts-tooltip-content .tooltip-caret{position:absolute;z-index:5001;width:0;height:0}.ngx-charts-tooltip-content.position-right{transform:translate(10px)}.ngx-charts-tooltip-content.position-left{transform:translate(-10px)}.ngx-charts-tooltip-content.position-top{transform:translateY(-10px)}.ngx-charts-tooltip-content.position-bottom{transform:translateY(10px)}.ngx-charts-tooltip-content.animate{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0);pointer-events:auto}.area-tooltip-container{padding:5px 0;pointer-events:none}.tooltip-item{text-align:left;line-height:1.2em;padding:5px 0}.tooltip-item .tooltip-item-color{display:inline-block;height:12px;width:12px;margin-right:5px;color:#5b646b;border-radius:3px}\\n\"],\n encapsulation: 2\n });\n __decorate([throttleable(100)], TooltipContentComponent.prototype, \"onWindowResize\", null);\n return TooltipContentComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nclass InjectionRegisteryService {\n constructor(injectionService) {\n this.injectionService = injectionService;\n this.defaults = {};\n this.components = new Map();\n }\n getByType(type = this.type) {\n return this.components.get(type);\n }\n create(bindings) {\n return this.createByType(this.type, bindings);\n }\n createByType(type, bindings) {\n bindings = this.assignDefaults(bindings);\n const component = this.injectComponent(type, bindings);\n this.register(type, component);\n return component;\n }\n destroy(instance) {\n const compsByType = this.components.get(instance.componentType);\n if (compsByType && compsByType.length) {\n const idx = compsByType.indexOf(instance);\n if (idx > -1) {\n const component = compsByType[idx];\n component.destroy();\n compsByType.splice(idx, 1);\n }\n }\n }\n destroyAll() {\n this.destroyByType(this.type);\n }\n destroyByType(type) {\n const comps = this.components.get(type);\n if (comps && comps.length) {\n let i = comps.length - 1;\n while (i >= 0) {\n this.destroy(comps[i--]);\n }\n }\n }\n injectComponent(type, bindings) {\n return this.injectionService.appendComponent(type, bindings);\n }\n assignDefaults(bindings) {\n const inputs = {\n ...this.defaults.inputs\n };\n const outputs = {\n ...this.defaults.outputs\n };\n if (!bindings.inputs && !bindings.outputs) {\n bindings = {\n inputs: bindings\n };\n }\n if (inputs) {\n bindings.inputs = {\n ...inputs,\n ...bindings.inputs\n };\n }\n if (outputs) {\n bindings.outputs = {\n ...outputs,\n ...bindings.outputs\n };\n }\n return bindings;\n }\n register(type, component) {\n if (!this.components.has(type)) {\n this.components.set(type, []);\n }\n const types = this.components.get(type);\n types.push(component);\n }\n}\nfunction isViewContainerRef(x) {\n return x.element;\n}\n/**\n * Injection service is a helper to append components\n * dynamically to a known location in the DOM, most\n * noteably for dialogs/tooltips appending to body.\n *\n * @export\n */\nlet InjectionService = /*#__PURE__*/(() => {\n class InjectionService {\n constructor(applicationRef, componentFactoryResolver, injector) {\n this.applicationRef = applicationRef;\n this.componentFactoryResolver = componentFactoryResolver;\n this.injector = injector;\n }\n /**\n * Sets a default global root view container. This is useful for\n * things like ngUpgrade that doesn't have a ApplicationRef root.\n *\n * @param container\n */\n static setGlobalRootViewContainer(container) {\n InjectionService.globalRootViewContainer = container;\n }\n /**\n * Gets the root view container to inject the component to.\n *\n * @memberOf InjectionService\n */\n getRootViewContainer() {\n if (this._container) return this._container;\n if (InjectionService.globalRootViewContainer) return InjectionService.globalRootViewContainer;\n if (this.applicationRef.components.length) return this.applicationRef.components[0];\n throw new Error('View Container not found! ngUpgrade needs to manually set this via setRootViewContainer or setGlobalRootViewContainer.');\n }\n /**\n * Overrides the default root view container. This is useful for\n * things like ngUpgrade that doesn't have a ApplicationRef root.\n *\n * @param container\n *\n * @memberOf InjectionService\n */\n setRootViewContainer(container) {\n this._container = container;\n }\n /**\n * Gets the html element for a component ref.\n *\n * @param componentRef\n *\n * @memberOf InjectionService\n */\n getComponentRootNode(component) {\n if (isViewContainerRef(component)) {\n return component.element.nativeElement;\n }\n if (component.hostView && component.hostView.rootNodes.length > 0) {\n return component.hostView.rootNodes[0];\n }\n // the top most component root node has no `hostView`\n return component.location.nativeElement;\n }\n /**\n * Gets the root component container html element.\n *\n * @memberOf InjectionService\n */\n getRootViewContainerNode(component) {\n return this.getComponentRootNode(component);\n }\n /**\n * Projects the bindings onto the component\n *\n * @param component\n * @param options\n *\n * @memberOf InjectionService\n */\n projectComponentBindings(component, bindings) {\n if (bindings) {\n if (bindings.inputs !== undefined) {\n const bindingKeys = Object.getOwnPropertyNames(bindings.inputs);\n for (const bindingName of bindingKeys) {\n component.instance[bindingName] = bindings.inputs[bindingName];\n }\n }\n if (bindings.outputs !== undefined) {\n const eventKeys = Object.getOwnPropertyNames(bindings.outputs);\n for (const eventName of eventKeys) {\n component.instance[eventName] = bindings.outputs[eventName];\n }\n }\n }\n return component;\n }\n /**\n * Appends a component to a adjacent location\n *\n * @param componentClass\n * @param [options={}]\n * @param [location]\n *\n * @memberOf InjectionService\n */\n appendComponent(componentClass, bindings = {}, location) {\n if (!location) location = this.getRootViewContainer();\n const appendLocation = this.getComponentRootNode(location);\n const portalHost = new DomPortalOutlet(appendLocation, this.componentFactoryResolver, this.applicationRef, this.injector);\n const portal = new ComponentPortal(componentClass);\n const componentRef = portalHost.attach(portal);\n this.projectComponentBindings(componentRef, bindings);\n return componentRef;\n }\n }\n InjectionService.globalRootViewContainer = null;\n InjectionService.ɵfac = function InjectionService_Factory(t) {\n return new (t || InjectionService)(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.Injector));\n };\n InjectionService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InjectionService,\n factory: InjectionService.ɵfac\n });\n return InjectionService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TooltipService = /*#__PURE__*/(() => {\n class TooltipService extends InjectionRegisteryService {\n constructor(injectionService) {\n super(injectionService);\n this.type = TooltipContentComponent;\n }\n }\n TooltipService.ɵfac = function TooltipService_Factory(t) {\n return new (t || TooltipService)(i0.ɵɵinject(InjectionService));\n };\n TooltipService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TooltipService,\n factory: TooltipService.ɵfac\n });\n return TooltipService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar LegendPosition = /*#__PURE__*/function (LegendPosition) {\n LegendPosition[\"Right\"] = \"right\";\n LegendPosition[\"Below\"] = \"below\";\n return LegendPosition;\n}(LegendPosition || {});\nvar LegendType = /*#__PURE__*/function (LegendType) {\n LegendType[\"ScaleLegend\"] = \"scaleLegend\";\n LegendType[\"Legend\"] = \"legend\";\n return LegendType;\n}(LegendType || {});\nvar ScaleType = /*#__PURE__*/function (ScaleType) {\n ScaleType[\"Time\"] = \"time\";\n ScaleType[\"Linear\"] = \"linear\";\n ScaleType[\"Ordinal\"] = \"ordinal\";\n ScaleType[\"Quantile\"] = \"quantile\";\n return ScaleType;\n}(ScaleType || {});\nlet ScaleLegendComponent = /*#__PURE__*/(() => {\n class ScaleLegendComponent {\n constructor() {\n this.horizontal = false;\n }\n ngOnChanges(changes) {\n const gradientValues = this.gradientString(this.colors.range(), this.colors.domain());\n const direction = this.horizontal ? 'right' : 'bottom';\n this.gradient = `linear-gradient(to ${direction}, ${gradientValues})`;\n }\n /**\n * Generates the string used in the gradient stylesheet properties\n * @param colors array of colors\n * @param splits array of splits on a scale of (0, 1)\n */\n gradientString(colors, splits) {\n // add the 100%\n splits.push(1);\n const pairs = [];\n colors.reverse().forEach((c, i) => {\n pairs.push(`${c} ${Math.round(splits[i] * 100)}%`);\n });\n return pairs.join(', ');\n }\n }\n ScaleLegendComponent.ɵfac = function ScaleLegendComponent_Factory(t) {\n return new (t || ScaleLegendComponent)();\n };\n ScaleLegendComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ScaleLegendComponent,\n selectors: [[\"ngx-charts-scale-legend\"]],\n inputs: {\n valueRange: \"valueRange\",\n colors: \"colors\",\n height: \"height\",\n width: \"width\",\n horizontal: \"horizontal\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 8,\n vars: 10,\n consts: [[1, \"scale-legend\"], [1, \"scale-legend-label\"], [1, \"scale-legend-wrap\"]],\n template: function ScaleLegendComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0)(1, \"div\", 1)(2, \"span\");\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd()();\n i0.ɵɵelement(4, \"div\", 2);\n i0.ɵɵelementStart(5, \"div\", 1)(6, \"span\");\n i0.ɵɵtext(7);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"height\", ctx.horizontal ? undefined : ctx.height, \"px\")(\"width\", ctx.width, \"px\");\n i0.ɵɵclassProp(\"horizontal-legend\", ctx.horizontal);\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(ctx.valueRange[1].toLocaleString());\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"background\", ctx.gradient);\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(ctx.valueRange[0].toLocaleString());\n }\n },\n styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .scale-legend{text-align:center;display:flex;flex-direction:column}.chart-legend .scale-legend-wrap{display:inline-block;flex:1;width:30px;border-radius:5px;margin:0 auto}.chart-legend .scale-legend-label{font-size:12px}.chart-legend .horizontal-legend.scale-legend{flex-direction:row}.chart-legend .horizontal-legend .scale-legend-wrap{width:auto;height:30px;margin:0 16px}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return ScaleLegendComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Formats a label given a date, number or string.\n *\n * @export\n */\nfunction formatLabel(label) {\n if (label instanceof Date) {\n label = label.toLocaleDateString();\n } else {\n label = label.toLocaleString();\n }\n return label;\n}\n/**\n * Escapes a label.\n *\n * @export\n */\nfunction escapeLabel(label) {\n return label.toLocaleString().replace(/[&'`\"<>]/g, match => {\n return {\n '&': '&',\n // tslint:disable-next-line: quotemark\n \"'\": ''',\n '`': '`',\n '\"': '"',\n '<': '<',\n '>': '>'\n }[match];\n });\n}\nlet LegendEntryComponent = /*#__PURE__*/(() => {\n class LegendEntryComponent {\n constructor() {\n this.isActive = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.toggle = new EventEmitter();\n }\n get trimmedLabel() {\n return this.formattedLabel || '(empty)';\n }\n onMouseEnter() {\n this.activate.emit({\n name: this.label\n });\n }\n onMouseLeave() {\n this.deactivate.emit({\n name: this.label\n });\n }\n }\n LegendEntryComponent.ɵfac = function LegendEntryComponent_Factory(t) {\n return new (t || LegendEntryComponent)();\n };\n LegendEntryComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: LegendEntryComponent,\n selectors: [[\"ngx-charts-legend-entry\"]],\n hostBindings: function LegendEntryComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseenter\", function LegendEntryComponent_mouseenter_HostBindingHandler() {\n return ctx.onMouseEnter();\n })(\"mouseleave\", function LegendEntryComponent_mouseleave_HostBindingHandler() {\n return ctx.onMouseLeave();\n });\n }\n },\n inputs: {\n color: \"color\",\n label: \"label\",\n formattedLabel: \"formattedLabel\",\n isActive: \"isActive\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\",\n toggle: \"toggle\"\n },\n decls: 4,\n vars: 6,\n consts: [[\"tabindex\", \"-1\", 3, \"click\", \"title\"], [1, \"legend-label-color\", 3, \"click\"], [1, \"legend-label-text\"]],\n template: function LegendEntryComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 0);\n i0.ɵɵlistener(\"click\", function LegendEntryComponent_Template_span_click_0_listener() {\n return ctx.select.emit(ctx.formattedLabel);\n });\n i0.ɵɵelementStart(1, \"span\", 1);\n i0.ɵɵlistener(\"click\", function LegendEntryComponent_Template_span_click_1_listener() {\n return ctx.toggle.emit(ctx.formattedLabel);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(2, \"span\", 2);\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"active\", ctx.isActive);\n i0.ɵɵproperty(\"title\", ctx.formattedLabel);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"background-color\", ctx.color);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx.trimmedLabel, \" \");\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n return LegendEntryComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LegendComponent = /*#__PURE__*/(() => {\n class LegendComponent {\n constructor(cd) {\n this.cd = cd;\n this.horizontal = false;\n this.labelClick = new EventEmitter();\n this.labelActivate = new EventEmitter();\n this.labelDeactivate = new EventEmitter();\n this.legendEntries = [];\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.cd.markForCheck();\n this.legendEntries = this.getLegendEntries();\n }\n getLegendEntries() {\n const items = [];\n for (const label of this.data) {\n const formattedLabel = formatLabel(label);\n const idx = items.findIndex(i => {\n return i.label === formattedLabel;\n });\n if (idx === -1) {\n items.push({\n label,\n formattedLabel,\n color: this.colors.getColor(label)\n });\n }\n }\n return items;\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.label === d.name;\n });\n return item !== undefined;\n }\n activate(item) {\n this.labelActivate.emit(item);\n }\n deactivate(item) {\n this.labelDeactivate.emit(item);\n }\n trackBy(index, item) {\n return item.label;\n }\n }\n LegendComponent.ɵfac = function LegendComponent_Factory(t) {\n return new (t || LegendComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n LegendComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: LegendComponent,\n selectors: [[\"ngx-charts-legend\"]],\n inputs: {\n data: \"data\",\n title: \"title\",\n colors: \"colors\",\n height: \"height\",\n width: \"width\",\n activeEntries: \"activeEntries\",\n horizontal: \"horizontal\"\n },\n outputs: {\n labelClick: \"labelClick\",\n labelActivate: \"labelActivate\",\n labelDeactivate: \"labelDeactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 5,\n vars: 9,\n consts: [[\"class\", \"legend-title\", 4, \"ngIf\"], [1, \"legend-wrap\"], [1, \"legend-labels\"], [\"class\", \"legend-label\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [1, \"legend-title\"], [1, \"legend-title-text\"], [1, \"legend-label\"], [3, \"select\", \"activate\", \"deactivate\", \"label\", \"formattedLabel\", \"color\", \"isActive\"]],\n template: function LegendComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\");\n i0.ɵɵtemplate(1, LegendComponent_header_1_Template, 3, 1, \"header\", 0);\n i0.ɵɵelementStart(2, \"div\", 1)(3, \"ul\", 2);\n i0.ɵɵtemplate(4, LegendComponent_li_4_Template, 2, 4, \"li\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"width\", ctx.width, \"px\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", (ctx.title == null ? null : ctx.title.length) > 0);\n i0.ɵɵadvance(2);\n i0.ɵɵstyleProp(\"max-height\", ctx.height - 45, \"px\");\n i0.ɵɵclassProp(\"horizontal-legend\", ctx.horizontal);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.legendEntries)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [LegendEntryComponent, i2.NgIf, i2.NgForOf],\n styles: [\".chart-legend{display:inline-block;padding:0;width:auto!important}.chart-legend .legend-title{white-space:nowrap;overflow:hidden;margin-left:10px;margin-bottom:5px;font-size:14px;font-weight:700}.chart-legend ul,.chart-legend li{padding:0;margin:0;list-style:none}.chart-legend .horizontal-legend li{display:inline-block}.chart-legend .legend-wrap{width:calc(100% - 10px)}.chart-legend .legend-labels{line-height:85%;list-style:none;text-align:left;float:left;width:100%;border-radius:3px;overflow-y:auto;overflow-x:hidden;white-space:nowrap;background:rgba(0,0,0,.05)}.chart-legend .legend-label{cursor:pointer;font-size:90%;margin:8px;color:#afb7c8}.chart-legend .legend-label:hover{color:#000;transition:.2s}.chart-legend .legend-label .active .legend-label-text{color:#000}.chart-legend .legend-label-color{display:inline-block;height:15px;width:15px;margin-right:5px;color:#5b646b;border-radius:3px}.chart-legend .legend-label-text{display:inline-block;vertical-align:top;line-height:15px;font-size:12px;width:calc(100% - 20px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-legend .legend-title-text{vertical-align:bottom;display:inline-block;line-height:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return LegendComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ChartComponent = /*#__PURE__*/(() => {\n class ChartComponent {\n constructor() {\n this.showLegend = false;\n this.animations = true;\n this.legendLabelClick = new EventEmitter();\n this.legendLabelActivate = new EventEmitter();\n this.legendLabelDeactivate = new EventEmitter();\n this.LegendPosition = LegendPosition;\n this.LegendType = LegendType;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n let legendColumns = 0;\n if (this.showLegend) {\n this.legendType = this.getLegendType();\n if (!this.legendOptions || this.legendOptions.position === LegendPosition.Right) {\n if (this.legendType === LegendType.ScaleLegend) {\n legendColumns = 1;\n } else {\n legendColumns = 2;\n }\n }\n }\n const chartColumns = 12 - legendColumns;\n this.chartWidth = Math.floor(this.view[0] * chartColumns / 12.0);\n this.legendWidth = !this.legendOptions || this.legendOptions.position === LegendPosition.Right ? Math.floor(this.view[0] * legendColumns / 12.0) : this.chartWidth;\n }\n getLegendType() {\n return this.legendOptions.scaleType === ScaleType.Linear ? LegendType.ScaleLegend : LegendType.Legend;\n }\n }\n ChartComponent.ɵfac = function ChartComponent_Factory(t) {\n return new (t || ChartComponent)();\n };\n ChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ChartComponent,\n selectors: [[\"ngx-charts-chart\"]],\n inputs: {\n view: \"view\",\n showLegend: \"showLegend\",\n legendOptions: \"legendOptions\",\n legendType: \"legendType\",\n activeEntries: \"activeEntries\",\n animations: \"animations\"\n },\n outputs: {\n legendLabelClick: \"legendLabelClick\",\n legendLabelActivate: \"legendLabelActivate\",\n legendLabelDeactivate: \"legendLabelDeactivate\"\n },\n features: [i0.ɵɵProvidersFeature([TooltipService]), i0.ɵɵNgOnChangesFeature],\n ngContentSelectors: _c2,\n decls: 5,\n vars: 6,\n consts: [[1, \"ngx-charts-outer\"], [1, \"ngx-charts\"], [\"class\", \"chart-legend\", 3, \"horizontal\", \"valueRange\", \"colors\", \"height\", \"width\", 4, \"ngIf\"], [\"class\", \"chart-legend\", 3, \"horizontal\", \"data\", \"title\", \"colors\", \"height\", \"width\", \"activeEntries\", \"labelClick\", \"labelActivate\", \"labelDeactivate\", 4, \"ngIf\"], [1, \"chart-legend\", 3, \"horizontal\", \"valueRange\", \"colors\", \"height\", \"width\"], [1, \"chart-legend\", 3, \"labelClick\", \"labelActivate\", \"labelDeactivate\", \"horizontal\", \"data\", \"title\", \"colors\", \"height\", \"width\", \"activeEntries\"]],\n template: function ChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"svg\", 1);\n i0.ɵɵprojection(2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, ChartComponent_ngx_charts_scale_legend_3_Template, 1, 5, \"ngx-charts-scale-legend\", 2)(4, ChartComponent_ngx_charts_legend_4_Template, 1, 7, \"ngx-charts-legend\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"width\", ctx.view[0], \"px\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.chartWidth)(\"height\", ctx.view[1]);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.showLegend && ctx.legendType === ctx.LegendType.ScaleLegend);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showLegend && ctx.legendType === ctx.LegendType.Legend);\n }\n },\n dependencies: [ScaleLegendComponent, LegendComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return ChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Visibility Observer\n */\nlet VisibilityObserver = /*#__PURE__*/(() => {\n class VisibilityObserver {\n constructor(element, zone) {\n this.element = element;\n this.zone = zone;\n this.visible = new EventEmitter();\n this.isVisible = false;\n this.runCheck();\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n onVisibilityChange() {\n // trigger zone recalc for columns\n this.zone.run(() => {\n this.isVisible = true;\n this.visible.emit(true);\n });\n }\n runCheck() {\n const check = () => {\n if (!this.element) {\n return;\n }\n // https://davidwalsh.name/offsetheight-visibility\n const {\n offsetHeight,\n offsetWidth\n } = this.element.nativeElement;\n if (offsetHeight && offsetWidth) {\n clearTimeout(this.timeout);\n this.onVisibilityChange();\n } else {\n clearTimeout(this.timeout);\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check(), 100);\n });\n }\n };\n this.zone.runOutsideAngular(() => {\n this.timeout = setTimeout(() => check());\n });\n }\n }\n VisibilityObserver.ɵfac = function VisibilityObserver_Factory(t) {\n return new (t || VisibilityObserver)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n VisibilityObserver.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: VisibilityObserver,\n selectors: [[\"visibility-observer\"]],\n outputs: {\n visible: \"visible\"\n }\n });\n return VisibilityObserver;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction isDate(value) {\n return toString.call(value) === '[object Date]';\n}\nfunction isNumber(value) {\n return typeof value === 'number';\n}\nlet BaseChartComponent = /*#__PURE__*/(() => {\n class BaseChartComponent {\n constructor(chartElement, zone, cd, platformId) {\n this.chartElement = chartElement;\n this.zone = zone;\n this.cd = cd;\n this.platformId = platformId;\n this.scheme = 'cool';\n this.schemeType = ScaleType.Ordinal;\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.animations = false;\n }\n }\n ngAfterViewInit() {\n this.bindWindowResizeEvent();\n // listen for visibility of the element for hidden by default scenario\n this.visibilityObserver = new VisibilityObserver(this.chartElement, this.zone);\n this.visibilityObserver.visible.subscribe(this.update.bind(this));\n }\n ngOnDestroy() {\n this.unbindEvents();\n if (this.visibilityObserver) {\n this.visibilityObserver.visible.unsubscribe();\n this.visibilityObserver.destroy();\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n if (this.results) {\n this.results = this.cloneData(this.results);\n } else {\n this.results = [];\n }\n if (this.view) {\n this.width = this.view[0];\n this.height = this.view[1];\n } else {\n const dims = this.getContainerDims();\n if (dims) {\n this.width = dims.width;\n this.height = dims.height;\n }\n }\n // default values if width or height are 0 or undefined\n if (!this.width) {\n this.width = 600;\n }\n if (!this.height) {\n this.height = 400;\n }\n this.width = Math.floor(this.width);\n this.height = Math.floor(this.height);\n if (this.cd) {\n this.cd.markForCheck();\n }\n }\n getContainerDims() {\n let width;\n let height;\n const hostElem = this.chartElement.nativeElement;\n if (isPlatformBrowser(this.platformId) && hostElem.parentNode !== null) {\n // Get the container dimensions\n const dims = hostElem.parentNode.getBoundingClientRect();\n width = dims.width;\n height = dims.height;\n }\n if (width && height) {\n return {\n width,\n height\n };\n }\n return null;\n }\n /**\n * Converts all date objects that appear as name\n * into formatted date strings\n */\n formatDates() {\n for (let i = 0; i < this.results.length; i++) {\n const g = this.results[i];\n g.label = g.name;\n if (isDate(g.label)) {\n g.label = g.label.toLocaleDateString();\n }\n if (g.series) {\n for (let j = 0; j < g.series.length; j++) {\n const d = g.series[j];\n d.label = d.name;\n if (isDate(d.label)) {\n d.label = d.label.toLocaleDateString();\n }\n }\n }\n }\n }\n unbindEvents() {\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n bindWindowResizeEvent() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const source = fromEvent(window, 'resize');\n const subscription = source.pipe(debounceTime(200)).subscribe(e => {\n this.update();\n if (this.cd) {\n this.cd.markForCheck();\n }\n });\n this.resizeSubscription = subscription;\n }\n /**\n * Clones the data into a new object\n *\n * @memberOf BaseChart\n */\n cloneData(data) {\n const results = [];\n for (const item of data) {\n const copy = {\n name: item['name']\n };\n if (item['value'] !== undefined) {\n copy['value'] = item['value'];\n }\n if (item['series'] !== undefined) {\n copy['series'] = [];\n for (const seriesItem of item['series']) {\n const seriesItemCopy = Object.assign({}, seriesItem);\n copy['series'].push(seriesItemCopy);\n }\n }\n if (item['extra'] !== undefined) {\n copy['extra'] = JSON.parse(JSON.stringify(item['extra']));\n }\n results.push(copy);\n }\n return results;\n }\n }\n BaseChartComponent.ɵfac = function BaseChartComponent_Factory(t) {\n return new (t || BaseChartComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n BaseChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BaseChartComponent,\n selectors: [[\"base-chart\"]],\n inputs: {\n results: \"results\",\n view: \"view\",\n scheme: \"scheme\",\n schemeType: \"schemeType\",\n customColors: \"customColors\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 1,\n vars: 0,\n template: function BaseChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\");\n }\n },\n encapsulation: 2\n });\n return BaseChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar Orientation = /*#__PURE__*/function (Orientation) {\n Orientation[\"Top\"] = \"top\";\n Orientation[\"Bottom\"] = \"bottom\";\n Orientation[\"Left\"] = \"left\";\n Orientation[\"Right\"] = \"right\";\n return Orientation;\n}(Orientation || {});\nlet AxisLabelComponent = /*#__PURE__*/(() => {\n class AxisLabelComponent {\n constructor(element) {\n this.textHeight = 25;\n this.margin = 5;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.strokeWidth = '0.01';\n this.textAnchor = 'middle';\n this.transform = '';\n switch (this.orient) {\n case Orientation.Top:\n this.y = this.offset;\n this.x = this.width / 2;\n break;\n case Orientation.Bottom:\n this.y = this.offset;\n this.x = this.width / 2;\n break;\n case Orientation.Left:\n this.y = -(this.offset + this.textHeight + this.margin);\n this.x = -this.height / 2;\n this.transform = 'rotate(270)';\n break;\n case Orientation.Right:\n this.y = this.offset + this.margin;\n this.x = -this.height / 2;\n this.transform = 'rotate(270)';\n break;\n default:\n }\n }\n }\n AxisLabelComponent.ɵfac = function AxisLabelComponent_Factory(t) {\n return new (t || AxisLabelComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n AxisLabelComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AxisLabelComponent,\n selectors: [[\"g\", \"ngx-charts-axis-label\", \"\"]],\n inputs: {\n orient: \"orient\",\n label: \"label\",\n offset: \"offset\",\n width: \"width\",\n height: \"height\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c3,\n decls: 2,\n vars: 6,\n template: function AxisLabelComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"text\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"stroke-width\", ctx.strokeWidth)(\"x\", ctx.x)(\"y\", ctx.y)(\"text-anchor\", ctx.textAnchor)(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx.label, \" \");\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n return AxisLabelComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction trimLabel(s, max = 16) {\n if (typeof s !== 'string') {\n if (typeof s === 'number') {\n return s + '';\n } else {\n return '';\n }\n }\n s = s.trim();\n if (s.length <= max) {\n return s;\n } else {\n return `${s.slice(0, max)}...`;\n }\n}\nfunction reduceTicks(ticks, maxTicks) {\n if (ticks.length > maxTicks) {\n const reduced = [];\n const modulus = Math.floor(ticks.length / maxTicks);\n for (let i = 0; i < ticks.length; i++) {\n if (i % modulus === 0) {\n reduced.push(ticks[i]);\n }\n }\n ticks = reduced;\n }\n return ticks;\n}\nvar TextAnchor = /*#__PURE__*/function (TextAnchor) {\n TextAnchor[\"Start\"] = \"start\";\n TextAnchor[\"Middle\"] = \"middle\";\n TextAnchor[\"End\"] = \"end\";\n return TextAnchor;\n}(TextAnchor || {});\nlet XAxisTicksComponent = /*#__PURE__*/(() => {\n class XAxisTicksComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.tickArguments = [5];\n this.tickStroke = '#ccc';\n this.trimTicks = true;\n this.maxTickLength = 16;\n this.showGridLines = false;\n this.rotateTicks = true;\n this.dimensionsChanged = new EventEmitter();\n this.verticalSpacing = 20;\n this.rotateLabels = false;\n this.innerTickSize = 6;\n this.outerTickSize = 6;\n this.tickPadding = 3;\n this.textAnchor = TextAnchor.Middle;\n this.maxTicksLength = 0;\n this.maxAllowedLength = 16;\n this.height = 0;\n this.approxHeight = 10;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngAfterViewInit() {\n setTimeout(() => this.updateDims());\n }\n updateDims() {\n if (!isPlatformBrowser(this.platformId)) {\n // for SSR, use approximate value instead of measured\n this.dimensionsChanged.emit({\n height: this.approxHeight\n });\n return;\n }\n const height = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height, 10);\n if (height !== this.height) {\n this.height = height;\n this.dimensionsChanged.emit({\n height: this.height\n });\n setTimeout(() => this.updateDims());\n }\n }\n update() {\n const scale = this.scale;\n this.ticks = this.getTicks();\n if (this.tickFormatting) {\n this.tickFormat = this.tickFormatting;\n } else if (scale.tickFormat) {\n this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n } else {\n this.tickFormat = function (d) {\n if (d.constructor.name === 'Date') {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n const angle = this.rotateTicks ? this.getRotationAngle(this.ticks) : null;\n this.adjustedScale = this.scale.bandwidth ? function (d) {\n return this.scale(d) + this.scale.bandwidth() * 0.5;\n } : this.scale;\n this.textTransform = '';\n if (angle && angle !== 0) {\n this.textTransform = `rotate(${angle})`;\n this.textAnchor = TextAnchor.End;\n this.verticalSpacing = 10;\n } else {\n this.textAnchor = TextAnchor.Middle;\n }\n setTimeout(() => this.updateDims());\n }\n getRotationAngle(ticks) {\n let angle = 0;\n this.maxTicksLength = 0;\n for (let i = 0; i < ticks.length; i++) {\n const tick = this.tickFormat(ticks[i]).toString();\n let tickLength = tick.length;\n if (this.trimTicks) {\n tickLength = this.tickTrim(tick).length;\n }\n if (tickLength > this.maxTicksLength) {\n this.maxTicksLength = tickLength;\n }\n }\n const len = Math.min(this.maxTicksLength, this.maxAllowedLength);\n const charWidth = 7; // need to measure this\n const wordWidth = len * charWidth;\n let baseWidth = wordWidth;\n const maxBaseWidth = Math.floor(this.width / ticks.length);\n // calculate optimal angle\n while (baseWidth > maxBaseWidth && angle > -90) {\n angle -= 30;\n baseWidth = Math.cos(angle * (Math.PI / 180)) * wordWidth;\n }\n this.approxHeight = Math.max(Math.abs(Math.sin(angle * (Math.PI / 180)) * wordWidth), 10);\n return angle;\n }\n getTicks() {\n let ticks;\n const maxTicks = this.getMaxTicks(20);\n const maxScaleTicks = this.getMaxTicks(100);\n if (this.tickValues) {\n ticks = this.tickValues;\n } else if (this.scale.ticks) {\n ticks = this.scale.ticks.apply(this.scale, [maxScaleTicks]);\n } else {\n ticks = this.scale.domain();\n ticks = reduceTicks(ticks, maxTicks);\n }\n return ticks;\n }\n getMaxTicks(tickWidth) {\n return Math.floor(this.width / tickWidth);\n }\n tickTransform(tick) {\n return 'translate(' + this.adjustedScale(tick) + ',' + this.verticalSpacing + ')';\n }\n gridLineTransform() {\n return `translate(0,${-this.verticalSpacing - 5})`;\n }\n tickTrim(label) {\n return this.trimTicks ? trimLabel(label, this.maxTickLength) : label;\n }\n }\n XAxisTicksComponent.ɵfac = function XAxisTicksComponent_Factory(t) {\n return new (t || XAxisTicksComponent)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n XAxisTicksComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: XAxisTicksComponent,\n selectors: [[\"g\", \"ngx-charts-x-axis-ticks\", \"\"]],\n viewQuery: function XAxisTicksComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c4, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ticksElement = _t.first);\n }\n },\n inputs: {\n scale: \"scale\",\n orient: \"orient\",\n tickArguments: \"tickArguments\",\n tickValues: \"tickValues\",\n tickStroke: \"tickStroke\",\n trimTicks: \"trimTicks\",\n maxTickLength: \"maxTickLength\",\n tickFormatting: \"tickFormatting\",\n showGridLines: \"showGridLines\",\n gridLineHeight: \"gridLineHeight\",\n width: \"width\",\n rotateTicks: \"rotateTicks\"\n },\n outputs: {\n dimensionsChanged: \"dimensionsChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c5,\n decls: 4,\n vars: 2,\n consts: [[\"ticksel\", \"\"], [\"class\", \"tick\", 4, \"ngFor\", \"ngForOf\"], [4, \"ngFor\", \"ngForOf\"], [1, \"tick\"], [\"stroke-width\", \"0.01\"], [4, \"ngIf\"], [\"y2\", \"0\", 1, \"gridline-path\", \"gridline-path-vertical\"]],\n template: function XAxisTicksComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", null, 0);\n i0.ɵɵtemplate(2, XAxisTicksComponent__svg_g_2_Template, 5, 7, \"g\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, XAxisTicksComponent__svg_g_3_Template, 2, 2, \"g\", 2);\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n }\n },\n dependencies: [i2.NgForOf, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return XAxisTicksComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet XAxisComponent = /*#__PURE__*/(() => {\n class XAxisComponent {\n constructor() {\n this.rotateTicks = true;\n this.showGridLines = false;\n this.xOrient = Orientation.Bottom;\n this.xAxisOffset = 0;\n this.dimensionsChanged = new EventEmitter();\n this.xAxisClassName = 'x axis';\n this.labelOffset = 0;\n this.fill = 'none';\n this.stroke = 'stroke';\n this.tickStroke = '#ccc';\n this.strokeWidth = 'none';\n this.padding = 5;\n this.orientation = Orientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.transform = `translate(0,${this.xAxisOffset + this.padding + this.dims.height})`;\n if (typeof this.xAxisTickCount !== 'undefined') {\n this.tickArguments = [this.xAxisTickCount];\n }\n }\n emitTicksHeight({\n height\n }) {\n const newLabelOffset = height + 25 + 5;\n if (newLabelOffset !== this.labelOffset) {\n this.labelOffset = newLabelOffset;\n setTimeout(() => {\n this.dimensionsChanged.emit({\n height\n });\n }, 0);\n }\n }\n }\n XAxisComponent.ɵfac = function XAxisComponent_Factory(t) {\n return new (t || XAxisComponent)();\n };\n XAxisComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: XAxisComponent,\n selectors: [[\"g\", \"ngx-charts-x-axis\", \"\"]],\n viewQuery: function XAxisComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(XAxisTicksComponent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ticksComponent = _t.first);\n }\n },\n inputs: {\n xScale: \"xScale\",\n dims: \"dims\",\n trimTicks: \"trimTicks\",\n rotateTicks: \"rotateTicks\",\n maxTickLength: \"maxTickLength\",\n tickFormatting: \"tickFormatting\",\n showGridLines: \"showGridLines\",\n showLabel: \"showLabel\",\n labelText: \"labelText\",\n ticks: \"ticks\",\n xAxisTickCount: \"xAxisTickCount\",\n xOrient: \"xOrient\",\n xAxisOffset: \"xAxisOffset\"\n },\n outputs: {\n dimensionsChanged: \"dimensionsChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c6,\n decls: 3,\n vars: 4,\n consts: [[\"ngx-charts-x-axis-ticks\", \"\", 3, \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineHeight\", \"width\", \"tickValues\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\", 4, \"ngIf\"], [\"ngx-charts-x-axis-ticks\", \"\", 3, \"dimensionsChanged\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineHeight\", \"width\", \"tickValues\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\"]],\n template: function XAxisComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, XAxisComponent__svg_g_1_Template, 1, 12, \"g\", 0)(2, XAxisComponent__svg_g_2_Template, 1, 5, \"g\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"class\", ctx.xAxisClassName)(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xScale);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showLabel);\n }\n },\n dependencies: [XAxisTicksComponent, AxisLabelComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return XAxisComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generates a rounded rectanglar path\n *\n * @export\n * @param x, y, w, h, r, tl, tr, bl, br\n */\nfunction roundedRect(x, y, w, h, r, [tl, tr, bl, br]) {\n let retval = '';\n w = Math.floor(w);\n h = Math.floor(h);\n w = w === 0 ? 1 : w;\n h = h === 0 ? 1 : h;\n retval = `M${[x + r, y]}`;\n retval += `h${w - 2 * r}`;\n if (tr) {\n retval += `a${[r, r]} 0 0 1 ${[r, r]}`;\n } else {\n retval += `h${r}v${r}`;\n }\n retval += `v${h - 2 * r}`;\n if (br) {\n retval += `a${[r, r]} 0 0 1 ${[-r, r]}`;\n } else {\n retval += `v${r}h${-r}`;\n }\n retval += `h${2 * r - w}`;\n if (bl) {\n retval += `a${[r, r]} 0 0 1 ${[-r, -r]}`;\n } else {\n retval += `h${-r}v${-r}`;\n }\n retval += `v${2 * r - h}`;\n if (tl) {\n retval += `a${[r, r]} 0 0 1 ${[r, -r]}`;\n } else {\n retval += `v${-r}h${r}`;\n }\n retval += `z`;\n return retval;\n}\nlet YAxisTicksComponent = /*#__PURE__*/(() => {\n class YAxisTicksComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.tickArguments = [5];\n this.tickStroke = '#ccc';\n this.trimTicks = true;\n this.maxTickLength = 16;\n this.showGridLines = false;\n this.showRefLabels = false;\n this.showRefLines = false;\n this.dimensionsChanged = new EventEmitter();\n this.innerTickSize = 6;\n this.tickPadding = 3;\n this.verticalSpacing = 20;\n this.textAnchor = TextAnchor.Middle;\n this.width = 0;\n this.outerTickSize = 6;\n this.rotateLabels = false;\n this.referenceLineLength = 0;\n this.Orientation = Orientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngAfterViewInit() {\n setTimeout(() => this.updateDims());\n }\n updateDims() {\n if (!isPlatformBrowser(this.platformId)) {\n // for SSR, use approximate value instead of measured\n this.width = this.getApproximateAxisWidth();\n this.dimensionsChanged.emit({\n width: this.width\n });\n return;\n }\n const width = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width, 10);\n if (width !== this.width) {\n this.width = width;\n this.dimensionsChanged.emit({\n width\n });\n setTimeout(() => this.updateDims());\n }\n }\n update() {\n let scale;\n const sign = this.orient === Orientation.Top || this.orient === Orientation.Right ? -1 : 1;\n this.tickSpacing = Math.max(this.innerTickSize, 0) + this.tickPadding;\n scale = this.scale;\n this.ticks = this.getTicks();\n if (this.tickFormatting) {\n this.tickFormat = this.tickFormatting;\n } else if (scale.tickFormat) {\n this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n } else {\n this.tickFormat = function (d) {\n if (d.constructor.name === 'Date') {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n this.adjustedScale = scale.bandwidth ? function (d) {\n return scale(d) + scale.bandwidth() * 0.5;\n } : scale;\n if (this.showRefLines && this.referenceLines) {\n this.setReferencelines();\n }\n switch (this.orient) {\n case Orientation.Top:\n this.transform = function (tick) {\n return 'translate(' + this.adjustedScale(tick) + ',0)';\n };\n this.textAnchor = TextAnchor.Middle;\n this.y2 = this.innerTickSize * sign;\n this.y1 = this.tickSpacing * sign;\n this.dy = sign < 0 ? '0em' : '.71em';\n break;\n case Orientation.Bottom:\n this.transform = function (tick) {\n return 'translate(' + this.adjustedScale(tick) + ',0)';\n };\n this.textAnchor = TextAnchor.Middle;\n this.y2 = this.innerTickSize * sign;\n this.y1 = this.tickSpacing * sign;\n this.dy = sign < 0 ? '0em' : '.71em';\n break;\n case Orientation.Left:\n this.transform = function (tick) {\n return 'translate(0,' + this.adjustedScale(tick) + ')';\n };\n this.textAnchor = TextAnchor.End;\n this.x2 = this.innerTickSize * -sign;\n this.x1 = this.tickSpacing * -sign;\n this.dy = '.32em';\n break;\n case Orientation.Right:\n this.transform = function (tick) {\n return 'translate(0,' + this.adjustedScale(tick) + ')';\n };\n this.textAnchor = TextAnchor.Start;\n this.x2 = this.innerTickSize * -sign;\n this.x1 = this.tickSpacing * -sign;\n this.dy = '.32em';\n break;\n default:\n }\n setTimeout(() => this.updateDims());\n }\n setReferencelines() {\n this.refMin = this.adjustedScale(Math.min.apply(null, this.referenceLines.map(item => item.value)));\n this.refMax = this.adjustedScale(Math.max.apply(null, this.referenceLines.map(item => item.value)));\n this.referenceLineLength = this.referenceLines.length;\n this.referenceAreaPath = roundedRect(0, this.refMax, this.gridLineWidth, this.refMin - this.refMax, 0, [false, false, false, false]);\n }\n getTicks() {\n let ticks;\n const maxTicks = this.getMaxTicks(20);\n const maxScaleTicks = this.getMaxTicks(50);\n if (this.tickValues) {\n ticks = this.tickValues;\n } else if (this.scale.ticks) {\n ticks = this.scale.ticks.apply(this.scale, [maxScaleTicks]);\n } else {\n ticks = this.scale.domain();\n ticks = reduceTicks(ticks, maxTicks);\n }\n return ticks;\n }\n getMaxTicks(tickHeight) {\n return Math.floor(this.height / tickHeight);\n }\n tickTransform(tick) {\n return `translate(${this.adjustedScale(tick)},${this.verticalSpacing})`;\n }\n gridLineTransform() {\n return `translate(5,0)`;\n }\n tickTrim(label) {\n return this.trimTicks ? trimLabel(label, this.maxTickLength) : label;\n }\n getApproximateAxisWidth() {\n const maxChars = Math.max(...this.ticks.map(t => this.tickTrim(this.tickFormat(t)).length));\n const charWidth = 7;\n return maxChars * charWidth;\n }\n }\n YAxisTicksComponent.ɵfac = function YAxisTicksComponent_Factory(t) {\n return new (t || YAxisTicksComponent)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n YAxisTicksComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: YAxisTicksComponent,\n selectors: [[\"g\", \"ngx-charts-y-axis-ticks\", \"\"]],\n viewQuery: function YAxisTicksComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c4, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ticksElement = _t.first);\n }\n },\n inputs: {\n scale: \"scale\",\n orient: \"orient\",\n tickArguments: \"tickArguments\",\n tickValues: \"tickValues\",\n tickStroke: \"tickStroke\",\n trimTicks: \"trimTicks\",\n maxTickLength: \"maxTickLength\",\n tickFormatting: \"tickFormatting\",\n showGridLines: \"showGridLines\",\n gridLineWidth: \"gridLineWidth\",\n height: \"height\",\n referenceLines: \"referenceLines\",\n showRefLabels: \"showRefLabels\",\n showRefLines: \"showRefLines\"\n },\n outputs: {\n dimensionsChanged: \"dimensionsChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c7,\n decls: 6,\n vars: 4,\n consts: [[\"ticksel\", \"\"], [\"class\", \"tick\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"reference-area\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\"], [1, \"tick\"], [\"stroke-width\", \"0.01\"], [1, \"reference-area\"], [4, \"ngIf\"], [\"class\", \"gridline-path gridline-path-horizontal\", \"x1\", \"0\", 4, \"ngIf\"], [\"x1\", \"0\", 1, \"gridline-path\", \"gridline-path-horizontal\"], [\"x1\", \"0\", 1, \"refline-path\", \"gridline-path-horizontal\"], [1, \"refline-label\"]],\n template: function YAxisTicksComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", null, 0);\n i0.ɵɵtemplate(2, YAxisTicksComponent__svg_g_2_Template, 5, 9, \"g\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, YAxisTicksComponent__svg_path_3_Template, 1, 2, \"path\", 2)(4, YAxisTicksComponent__svg_g_4_Template, 2, 2, \"g\", 3)(5, YAxisTicksComponent__svg_g_5_Template, 2, 1, \"g\", 3);\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.referenceLineLength > 1 && ctx.refMax && ctx.refMin && ctx.showRefLines);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.referenceLines);\n }\n },\n dependencies: [i2.NgForOf, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return YAxisTicksComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet YAxisComponent = /*#__PURE__*/(() => {\n class YAxisComponent {\n constructor() {\n this.showGridLines = false;\n this.yOrient = Orientation.Left;\n this.yAxisOffset = 0;\n this.dimensionsChanged = new EventEmitter();\n this.yAxisClassName = 'y axis';\n this.labelOffset = 15;\n this.fill = 'none';\n this.stroke = '#CCC';\n this.tickStroke = '#CCC';\n this.strokeWidth = 1;\n this.padding = 5;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.offset = -(this.yAxisOffset + this.padding);\n if (this.yOrient === Orientation.Right) {\n this.labelOffset = 65;\n this.transform = `translate(${this.offset + this.dims.width} , 0)`;\n } else {\n this.offset = this.offset;\n this.transform = `translate(${this.offset} , 0)`;\n }\n if (this.yAxisTickCount !== undefined) {\n this.tickArguments = [this.yAxisTickCount];\n }\n }\n emitTicksWidth({\n width\n }) {\n if (width !== this.labelOffset && this.yOrient === Orientation.Right) {\n this.labelOffset = width + this.labelOffset;\n setTimeout(() => {\n this.dimensionsChanged.emit({\n width\n });\n }, 0);\n } else if (width !== this.labelOffset) {\n this.labelOffset = width;\n setTimeout(() => {\n this.dimensionsChanged.emit({\n width\n });\n }, 0);\n }\n }\n }\n YAxisComponent.ɵfac = function YAxisComponent_Factory(t) {\n return new (t || YAxisComponent)();\n };\n YAxisComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: YAxisComponent,\n selectors: [[\"g\", \"ngx-charts-y-axis\", \"\"]],\n viewQuery: function YAxisComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(YAxisTicksComponent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.ticksComponent = _t.first);\n }\n },\n inputs: {\n yScale: \"yScale\",\n dims: \"dims\",\n trimTicks: \"trimTicks\",\n maxTickLength: \"maxTickLength\",\n tickFormatting: \"tickFormatting\",\n ticks: \"ticks\",\n showGridLines: \"showGridLines\",\n showLabel: \"showLabel\",\n labelText: \"labelText\",\n yAxisTickCount: \"yAxisTickCount\",\n yOrient: \"yOrient\",\n referenceLines: \"referenceLines\",\n showRefLines: \"showRefLines\",\n showRefLabels: \"showRefLabels\",\n yAxisOffset: \"yAxisOffset\"\n },\n outputs: {\n dimensionsChanged: \"dimensionsChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c8,\n decls: 3,\n vars: 4,\n consts: [[\"ngx-charts-y-axis-ticks\", \"\", 3, \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickValues\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineWidth\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"height\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\", 4, \"ngIf\"], [\"ngx-charts-y-axis-ticks\", \"\", 3, \"dimensionsChanged\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"tickArguments\", \"tickValues\", \"tickStroke\", \"scale\", \"orient\", \"showGridLines\", \"gridLineWidth\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"height\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\"]],\n template: function YAxisComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, YAxisComponent__svg_g_1_Template, 1, 14, \"g\", 0)(2, YAxisComponent__svg_g_2_Template, 1, 5, \"g\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"class\", ctx.yAxisClassName)(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yScale);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showLabel);\n }\n },\n dependencies: [YAxisTicksComponent, AxisLabelComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return YAxisComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AxesModule = /*#__PURE__*/(() => {\n class AxesModule {}\n AxesModule.ɵfac = function AxesModule_Factory(t) {\n return new (t || AxesModule)();\n };\n AxesModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: AxesModule\n });\n AxesModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[CommonModule]]\n });\n return AxesModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar StyleTypes = /*#__PURE__*/function (StyleTypes) {\n StyleTypes[\"popover\"] = \"popover\";\n StyleTypes[\"tooltip\"] = \"tooltip\";\n return StyleTypes;\n}(StyleTypes || {});\nvar ShowTypes = /*#__PURE__*/function (ShowTypes) {\n ShowTypes[ShowTypes[\"all\"] = 'all'] = \"all\";\n ShowTypes[ShowTypes[\"focus\"] = 'focus'] = \"focus\";\n ShowTypes[ShowTypes[\"mouseover\"] = 'mouseover'] = \"mouseover\";\n return ShowTypes;\n}(ShowTypes || {});\nlet TooltipDirective = /*#__PURE__*/(() => {\n class TooltipDirective {\n constructor(tooltipService, viewContainerRef, renderer) {\n this.tooltipService = tooltipService;\n this.viewContainerRef = viewContainerRef;\n this.renderer = renderer;\n this.tooltipCssClass = '';\n this.tooltipAppendToBody = true;\n this.tooltipSpacing = 10;\n this.tooltipDisabled = false;\n this.tooltipShowCaret = true;\n this.tooltipPlacement = PlacementTypes.Top;\n this.tooltipAlignment = PlacementTypes.Center;\n this.tooltipType = StyleTypes.popover;\n this.tooltipCloseOnClickOutside = true;\n this.tooltipCloseOnMouseLeave = true;\n this.tooltipHideTimeout = 300;\n this.tooltipShowTimeout = 100;\n this.tooltipShowEvent = ShowTypes.all;\n this.tooltipImmediateExit = false;\n this.show = new EventEmitter();\n this.hide = new EventEmitter();\n }\n get listensForFocus() {\n return this.tooltipShowEvent === ShowTypes.all || this.tooltipShowEvent === ShowTypes.focus;\n }\n get listensForHover() {\n return this.tooltipShowEvent === ShowTypes.all || this.tooltipShowEvent === ShowTypes.mouseover;\n }\n ngOnDestroy() {\n this.hideTooltip(true);\n }\n onFocus() {\n if (this.listensForFocus) {\n this.showTooltip();\n }\n }\n onBlur() {\n if (this.listensForFocus) {\n this.hideTooltip(true);\n }\n }\n onMouseEnter() {\n if (this.listensForHover) {\n this.showTooltip();\n }\n }\n onMouseLeave(target) {\n if (this.listensForHover && this.tooltipCloseOnMouseLeave) {\n clearTimeout(this.timeout);\n if (this.component) {\n const contentDom = this.component.instance.element.nativeElement;\n const contains = contentDom.contains(target);\n if (contains) return;\n }\n this.hideTooltip(this.tooltipImmediateExit);\n }\n }\n onMouseClick() {\n if (this.listensForHover) {\n this.hideTooltip(true);\n }\n }\n showTooltip(immediate) {\n if (this.component || this.tooltipDisabled) return;\n const time = immediate ? 0 : this.tooltipShowTimeout + (navigator.userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/) ? 300 : 0);\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.tooltipService.destroyAll();\n const options = this.createBoundOptions();\n this.component = this.tooltipService.create(options);\n // add a tiny timeout to avoid event re-triggers\n setTimeout(() => {\n if (this.component) {\n this.addHideListeners(this.component.instance.element.nativeElement);\n }\n }, 10);\n this.show.emit(true);\n }, time);\n }\n addHideListeners(tooltip) {\n // on mouse enter, cancel the hide triggered by the leave\n this.mouseEnterContentEvent = this.renderer.listen(tooltip, 'mouseenter', () => {\n clearTimeout(this.timeout);\n });\n // content mouse leave listener\n if (this.tooltipCloseOnMouseLeave) {\n this.mouseLeaveContentEvent = this.renderer.listen(tooltip, 'mouseleave', () => {\n this.hideTooltip(this.tooltipImmediateExit);\n });\n }\n // content close on click outside\n if (this.tooltipCloseOnClickOutside) {\n this.documentClickEvent = this.renderer.listen('window', 'click', event => {\n const contains = tooltip.contains(event.target);\n if (!contains) this.hideTooltip();\n });\n }\n }\n hideTooltip(immediate = false) {\n if (!this.component) return;\n const destroyFn = () => {\n // remove events\n if (this.mouseLeaveContentEvent) this.mouseLeaveContentEvent();\n if (this.mouseEnterContentEvent) this.mouseEnterContentEvent();\n if (this.documentClickEvent) this.documentClickEvent();\n // emit events\n this.hide.emit(true);\n // destroy component\n this.tooltipService.destroy(this.component);\n this.component = undefined;\n };\n clearTimeout(this.timeout);\n if (!immediate) {\n this.timeout = setTimeout(destroyFn, this.tooltipHideTimeout);\n } else {\n destroyFn();\n }\n }\n createBoundOptions() {\n return {\n title: this.tooltipTitle,\n template: this.tooltipTemplate,\n host: this.viewContainerRef.element,\n placement: this.tooltipPlacement,\n alignment: this.tooltipAlignment,\n type: this.tooltipType,\n showCaret: this.tooltipShowCaret,\n cssClass: this.tooltipCssClass,\n spacing: this.tooltipSpacing,\n context: this.tooltipContext\n };\n }\n }\n TooltipDirective.ɵfac = function TooltipDirective_Factory(t) {\n return new (t || TooltipDirective)(i0.ɵɵdirectiveInject(TooltipService), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.Renderer2));\n };\n TooltipDirective.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TooltipDirective,\n selectors: [[\"\", \"ngx-tooltip\", \"\"]],\n hostBindings: function TooltipDirective_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"focusin\", function TooltipDirective_focusin_HostBindingHandler() {\n return ctx.onFocus();\n })(\"blur\", function TooltipDirective_blur_HostBindingHandler() {\n return ctx.onBlur();\n })(\"mouseenter\", function TooltipDirective_mouseenter_HostBindingHandler() {\n return ctx.onMouseEnter();\n })(\"mouseleave\", function TooltipDirective_mouseleave_HostBindingHandler($event) {\n return ctx.onMouseLeave($event.target);\n })(\"click\", function TooltipDirective_click_HostBindingHandler() {\n return ctx.onMouseClick();\n });\n }\n },\n inputs: {\n tooltipCssClass: \"tooltipCssClass\",\n tooltipTitle: \"tooltipTitle\",\n tooltipAppendToBody: \"tooltipAppendToBody\",\n tooltipSpacing: \"tooltipSpacing\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipShowCaret: \"tooltipShowCaret\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipAlignment: \"tooltipAlignment\",\n tooltipType: \"tooltipType\",\n tooltipCloseOnClickOutside: \"tooltipCloseOnClickOutside\",\n tooltipCloseOnMouseLeave: \"tooltipCloseOnMouseLeave\",\n tooltipHideTimeout: \"tooltipHideTimeout\",\n tooltipShowTimeout: \"tooltipShowTimeout\",\n tooltipTemplate: \"tooltipTemplate\",\n tooltipShowEvent: \"tooltipShowEvent\",\n tooltipContext: \"tooltipContext\",\n tooltipImmediateExit: \"tooltipImmediateExit\"\n },\n outputs: {\n show: \"show\",\n hide: \"hide\"\n }\n });\n return TooltipDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TooltipModule = /*#__PURE__*/(() => {\n class TooltipModule {}\n TooltipModule.ɵfac = function TooltipModule_Factory(t) {\n return new (t || TooltipModule)();\n };\n TooltipModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: TooltipModule\n });\n TooltipModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [InjectionService, TooltipService],\n imports: [[CommonModule]]\n });\n return TooltipModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst cache = {};\n/**\n * Generates a short id.\n *\n * Description:\n * A 4-character alphanumeric sequence (364 = 1.6 million)\n * This should only be used for JavaScript specific models.\n * http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\n *\n * Example: `ebgf`\n */\nfunction id() {\n let newId = ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n // append a 'a' because neo gets mad\n newId = `a${newId}`;\n // ensure not already used\n if (!cache[newId]) {\n cache[newId] = true;\n return newId;\n }\n return id();\n}\nvar BarOrientation = /*#__PURE__*/function (BarOrientation) {\n BarOrientation[\"Vertical\"] = \"vertical\";\n BarOrientation[\"Horizontal\"] = \"horizontal\";\n return BarOrientation;\n}(BarOrientation || {});\nlet SvgLinearGradientComponent = /*#__PURE__*/(() => {\n class SvgLinearGradientComponent {\n constructor() {\n this.orientation = BarOrientation.Vertical;\n }\n ngOnChanges(changes) {\n this.x1 = '0%';\n this.x2 = '0%';\n this.y1 = '0%';\n this.y2 = '0%';\n if (this.orientation === BarOrientation.Horizontal) {\n this.x2 = '100%';\n } else if (this.orientation === BarOrientation.Vertical) {\n this.y1 = '100%';\n }\n }\n }\n SvgLinearGradientComponent.ɵfac = function SvgLinearGradientComponent_Factory(t) {\n return new (t || SvgLinearGradientComponent)();\n };\n SvgLinearGradientComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SvgLinearGradientComponent,\n selectors: [[\"g\", \"ngx-charts-svg-linear-gradient\", \"\"]],\n inputs: {\n orientation: \"orientation\",\n name: \"name\",\n stops: \"stops\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c9,\n decls: 2,\n vars: 6,\n consts: [[3, \"id\"], [3, \"stop-color\", \"stop-opacity\", 4, \"ngFor\", \"ngForOf\"]],\n template: function SvgLinearGradientComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"linearGradient\", 0);\n i0.ɵɵtemplate(1, SvgLinearGradientComponent__svg_stop_1_Template, 1, 5, \"stop\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"id\", ctx.name);\n i0.ɵɵattribute(\"x1\", ctx.x1)(\"y1\", ctx.y1)(\"x2\", ctx.x2)(\"y2\", ctx.y2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.stops);\n }\n },\n dependencies: [i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return SvgLinearGradientComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CircleComponent = /*#__PURE__*/(() => {\n class CircleComponent {\n constructor() {\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n onClick() {\n this.select.emit(this.data);\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n ngOnChanges(changes) {\n this.classNames = Array.isArray(this.classNames) ? this.classNames.join(' ') : '';\n this.classNames += 'circle';\n }\n }\n CircleComponent.ɵfac = function CircleComponent_Factory(t) {\n return new (t || CircleComponent)();\n };\n CircleComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CircleComponent,\n selectors: [[\"g\", \"ngx-charts-circle\", \"\"]],\n hostBindings: function CircleComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function CircleComponent_click_HostBindingHandler() {\n return ctx.onClick();\n })(\"mouseenter\", function CircleComponent_mouseenter_HostBindingHandler() {\n return ctx.onMouseEnter();\n })(\"mouseleave\", function CircleComponent_mouseleave_HostBindingHandler() {\n return ctx.onMouseLeave();\n });\n }\n },\n inputs: {\n cx: \"cx\",\n cy: \"cy\",\n r: \"r\",\n fill: \"fill\",\n stroke: \"stroke\",\n data: \"data\",\n classNames: \"classNames\",\n circleOpacity: \"circleOpacity\",\n pointerEvents: \"pointerEvents\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c10,\n decls: 1,\n vars: 8,\n template: function CircleComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"circle\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"cx\", ctx.cx)(\"cy\", ctx.cy)(\"r\", ctx.r)(\"fill\", ctx.fill)(\"stroke\", ctx.stroke)(\"opacity\", ctx.circleOpacity)(\"class\", ctx.classNames)(\"pointer-events\", ctx.pointerEvents);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n return CircleComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar SeriesType = /*#__PURE__*/function (SeriesType) {\n SeriesType[\"Standard\"] = \"standard\";\n SeriesType[\"Stacked\"] = \"stacked\";\n return SeriesType;\n}(SeriesType || {});\nlet CircleSeriesComponent = /*#__PURE__*/(() => {\n class CircleSeriesComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.type = SeriesType.Standard;\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.barVisible = false;\n this.barOrientation = BarOrientation;\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n this.isSSR = false;\n }\n ngOnInit() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n ngOnChanges() {\n this.update();\n }\n update() {\n this.circle = this.getActiveCircle();\n }\n getActiveCircle() {\n const indexActiveDataPoint = this.data.series.findIndex(d => {\n const label = d.name;\n return label && this.visibleValue && label.toString() === this.visibleValue.toString() && d.value !== undefined;\n });\n if (indexActiveDataPoint === -1) {\n // No valid point is 'active/hovered over' at this moment.\n return undefined;\n }\n return this.mapDataPointToCircle(this.data.series[indexActiveDataPoint], indexActiveDataPoint);\n }\n mapDataPointToCircle(d, i) {\n const seriesName = this.data.name;\n const value = d.value;\n const label = d.name;\n const tooltipLabel = formatLabel(label);\n let cx;\n if (this.scaleType === ScaleType.Time) {\n cx = this.xScale(label);\n } else if (this.scaleType === ScaleType.Linear) {\n cx = this.xScale(Number(label));\n } else {\n cx = this.xScale(label);\n }\n const cy = this.yScale(this.type === SeriesType.Standard ? value : d.d1);\n const radius = 5;\n const height = this.yScale.range()[0] - cy;\n const opacity = 1;\n let color;\n if (this.colors.scaleType === ScaleType.Linear) {\n if (this.type === SeriesType.Standard) {\n color = this.colors.getColor(value);\n } else {\n color = this.colors.getColor(d.d1);\n }\n } else {\n color = this.colors.getColor(seriesName);\n }\n const data = Object.assign({}, d, {\n series: seriesName,\n value,\n name: label\n });\n return {\n classNames: [`circle-data-${i}`],\n value,\n label,\n data,\n cx,\n cy,\n radius,\n height,\n tooltipLabel,\n color,\n opacity,\n seriesName,\n gradientStops: this.getGradientStops(color),\n min: d.min,\n max: d.max\n };\n }\n getTooltipText({\n tooltipLabel,\n value,\n seriesName,\n min,\n max\n }) {\n return `\n ${escapeLabel(seriesName)} • ${escapeLabel(tooltipLabel)}\n ${value.toLocaleString()}${this.getTooltipMinMaxText(min, max)}\n `;\n }\n getTooltipMinMaxText(min, max) {\n if (min !== undefined || max !== undefined) {\n let result = ' (';\n if (min !== undefined) {\n if (max === undefined) {\n result += '≥';\n }\n result += min.toLocaleString();\n if (max !== undefined) {\n result += ' - ';\n }\n } else if (max !== undefined) {\n result += '≤';\n }\n if (max !== undefined) {\n result += max.toLocaleString();\n }\n result += ')';\n return result;\n } else {\n return '';\n }\n }\n getGradientStops(color) {\n return [{\n offset: 0,\n color,\n opacity: 0.2\n }, {\n offset: 100,\n color,\n opacity: 1\n }];\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n activateCircle() {\n this.barVisible = true;\n this.activate.emit({\n name: this.data.name\n });\n }\n deactivateCircle() {\n this.barVisible = false;\n this.circle.opacity = 0;\n this.deactivate.emit({\n name: this.data.name\n });\n }\n }\n CircleSeriesComponent.ɵfac = function CircleSeriesComponent_Factory(t) {\n return new (t || CircleSeriesComponent)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n CircleSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CircleSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-circle-series\", \"\"]],\n inputs: {\n data: \"data\",\n type: \"type\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n colors: \"colors\",\n scaleType: \"scaleType\",\n visibleValue: \"visibleValue\",\n activeEntries: \"activeEntries\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c11,\n decls: 1,\n vars: 1,\n consts: [[4, \"ngIf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [\"class\", \"tooltip-bar\", 4, \"ngIf\"], [\"ngx-charts-circle\", \"\", \"ngx-tooltip\", \"\", 1, \"circle\", 3, \"select\", \"activate\", \"deactivate\", \"cx\", \"cy\", \"r\", \"fill\", \"pointerEvents\", \"data\", \"classNames\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"], [1, \"tooltip-bar\"]],\n template: function CircleSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, CircleSeriesComponent__svg_g_0_Template, 6, 22, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.circle);\n }\n },\n dependencies: [SvgLinearGradientComponent, CircleComponent, i2.NgIf, TooltipDirective],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':enter', [style({\n opacity: 0\n }), animate(250, style({\n opacity: 1\n }))])])]\n },\n changeDetection: 0\n });\n return CircleSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet GridPanelComponent = /*#__PURE__*/(() => {\n class GridPanelComponent {}\n GridPanelComponent.ɵfac = function GridPanelComponent_Factory(t) {\n return new (t || GridPanelComponent)();\n };\n GridPanelComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: GridPanelComponent,\n selectors: [[\"g\", \"ngx-charts-grid-panel\", \"\"]],\n inputs: {\n width: \"width\",\n height: \"height\",\n x: \"x\",\n y: \"y\"\n },\n attrs: _c13,\n decls: 1,\n vars: 4,\n consts: [[\"stroke\", \"none\", 1, \"gridpanel\"]],\n template: function GridPanelComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"rect\", 0);\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"height\", ctx.height)(\"width\", ctx.width)(\"x\", ctx.x)(\"y\", ctx.y);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n return GridPanelComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar ClassEnum = /*#__PURE__*/function (ClassEnum) {\n ClassEnum[\"Odd\"] = \"odd\";\n ClassEnum[\"Even\"] = \"even\";\n return ClassEnum;\n}(ClassEnum || {});\nlet GridPanelSeriesComponent = /*#__PURE__*/(() => {\n class GridPanelSeriesComponent {\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.gridPanels = this.getGridPanels();\n }\n getGridPanels() {\n return this.data.map(d => {\n let offset;\n let width;\n let height;\n let x;\n let y;\n let className = ClassEnum.Odd;\n if (this.orient === BarOrientation.Vertical) {\n const position = this.xScale(d.name);\n const positionIndex = Number.parseInt((position / this.xScale.step()).toString(), 10);\n if (positionIndex % 2 === 1) {\n className = ClassEnum.Even;\n }\n offset = this.xScale.bandwidth() * this.xScale.paddingInner();\n width = this.xScale.bandwidth() + offset;\n height = this.dims.height;\n x = this.xScale(d.name) - offset / 2;\n y = 0;\n } else if (this.orient === BarOrientation.Horizontal) {\n const position = this.yScale(d.name);\n const positionIndex = Number.parseInt((position / this.yScale.step()).toString(), 10);\n if (positionIndex % 2 === 1) {\n className = ClassEnum.Even;\n }\n offset = this.yScale.bandwidth() * this.yScale.paddingInner();\n width = this.dims.width;\n height = this.yScale.bandwidth() + offset;\n x = 0;\n y = this.yScale(d.name) - offset / 2;\n }\n return {\n name: d.name,\n class: className,\n height,\n width,\n x,\n y\n };\n });\n }\n }\n GridPanelSeriesComponent.ɵfac = function GridPanelSeriesComponent_Factory(t) {\n return new (t || GridPanelSeriesComponent)();\n };\n GridPanelSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: GridPanelSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-grid-panel-series\", \"\"]],\n inputs: {\n data: \"data\",\n dims: \"dims\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n orient: \"orient\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c14,\n decls: 1,\n vars: 1,\n consts: [[\"ngx-charts-grid-panel\", \"\", 3, \"height\", \"width\", \"x\", \"y\", \"grid-panel\", \"odd\", \"even\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-grid-panel\", \"\", 3, \"height\", \"width\", \"x\", \"y\"]],\n template: function GridPanelSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, GridPanelSeriesComponent__svg_g_0_Template, 1, 10, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.gridPanels);\n }\n },\n dependencies: [GridPanelComponent, i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return GridPanelSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SvgRadialGradientComponent = /*#__PURE__*/(() => {\n class SvgRadialGradientComponent {\n constructor() {\n this.endOpacity = 1;\n this.cx = 0;\n this.cy = 0;\n }\n get stops() {\n return this.stopsInput || this.stopsDefault;\n }\n set stops(value) {\n this.stopsInput = value;\n }\n ngOnChanges(changes) {\n this.r = '30%';\n if ('color' in changes || 'startOpacity' in changes || 'endOpacity' in changes) {\n this.stopsDefault = [{\n offset: 0,\n color: this.color,\n opacity: this.startOpacity\n }, {\n offset: 100,\n color: this.color,\n opacity: this.endOpacity\n }];\n }\n }\n }\n SvgRadialGradientComponent.ɵfac = function SvgRadialGradientComponent_Factory(t) {\n return new (t || SvgRadialGradientComponent)();\n };\n SvgRadialGradientComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SvgRadialGradientComponent,\n selectors: [[\"g\", \"ngx-charts-svg-radial-gradient\", \"\"]],\n inputs: {\n color: \"color\",\n name: \"name\",\n startOpacity: \"startOpacity\",\n endOpacity: \"endOpacity\",\n cx: \"cx\",\n cy: \"cy\",\n stops: \"stops\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c15,\n decls: 2,\n vars: 5,\n consts: [[\"gradientUnits\", \"userSpaceOnUse\", 3, \"id\"], [3, \"stop-color\", \"stop-opacity\", 4, \"ngFor\", \"ngForOf\"]],\n template: function SvgRadialGradientComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"radialGradient\", 0);\n i0.ɵɵtemplate(1, SvgRadialGradientComponent__svg_stop_1_Template, 1, 5, \"stop\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"id\", ctx.name);\n i0.ɵɵattribute(\"cx\", ctx.cx)(\"cy\", ctx.cy)(\"r\", ctx.r);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.stops);\n }\n },\n dependencies: [i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return SvgRadialGradientComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AreaComponent = /*#__PURE__*/(() => {\n class AreaComponent {\n constructor(element) {\n this.opacity = 1;\n this.startOpacity = 0.5;\n this.endOpacity = 1;\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.animationsLoaded = false;\n this.hasGradient = false;\n this.barOrientation = BarOrientation;\n this.element = element.nativeElement;\n }\n ngOnChanges() {\n this.update();\n if (!this.animationsLoaded) {\n this.loadAnimation();\n this.animationsLoaded = true;\n }\n }\n update() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient || this.stops) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n } else {\n this.hasGradient = false;\n }\n this.updatePathEl();\n }\n loadAnimation() {\n this.areaPath = this.startingPath;\n setTimeout(this.updatePathEl.bind(this), 100);\n }\n updatePathEl() {\n const node = select(this.element).select('.area');\n if (this.animations) {\n node.transition().duration(750).attr('d', this.path);\n } else {\n node.attr('d', this.path);\n }\n }\n getGradient() {\n if (this.stops) {\n return this.stops;\n }\n return [{\n offset: 0,\n color: this.fill,\n opacity: this.startOpacity\n }, {\n offset: 100,\n color: this.fill,\n opacity: this.endOpacity\n }];\n }\n }\n AreaComponent.ɵfac = function AreaComponent_Factory(t) {\n return new (t || AreaComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n AreaComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AreaComponent,\n selectors: [[\"g\", \"ngx-charts-area\", \"\"]],\n inputs: {\n data: \"data\",\n path: \"path\",\n startingPath: \"startingPath\",\n fill: \"fill\",\n opacity: \"opacity\",\n startOpacity: \"startOpacity\",\n endOpacity: \"endOpacity\",\n gradient: \"gradient\",\n stops: \"stops\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c16,\n decls: 2,\n vars: 5,\n consts: [[4, \"ngIf\"], [1, \"area\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"]],\n template: function AreaComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, AreaComponent__svg_defs_0_Template, 2, 3, \"defs\", 0);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(1, \"path\", 1);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.gradient);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"opacity\", ctx.opacity);\n i0.ɵɵattribute(\"d\", ctx.areaPath)(\"fill\", ctx.gradient ? ctx.gradientFill : ctx.fill);\n }\n },\n dependencies: [SvgLinearGradientComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return AreaComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// Robert Penner's easeOutExpo\nfunction easeOutExpo(t, b, c, d) {\n return c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b;\n}\n/**\n * Counts from a number to the end incrementally.\n */\nfunction count(countFrom, countTo, countDecimals, countDuration, callback) {\n const startVal = Number(countFrom);\n const endVal = Number(countTo);\n const countDown = startVal > endVal;\n const decimals = Math.max(0, countDecimals);\n const dec = Math.pow(10, decimals);\n const duration = Number(countDuration) * 1000;\n let startTime;\n function runCount(timestamp) {\n let frameVal;\n const progress = timestamp - startTime;\n if (countDown) {\n frameVal = startVal - easeOutExpo(progress, 0, startVal - endVal, duration);\n } else {\n frameVal = easeOutExpo(progress, startVal, endVal - startVal, duration);\n }\n if (countDown) {\n frameVal = frameVal < endVal ? endVal : frameVal;\n } else {\n frameVal = frameVal > endVal ? endVal : frameVal;\n }\n frameVal = Math.round(frameVal * dec) / dec;\n const tick = progress < duration;\n callback({\n value: frameVal,\n progress,\n timestamp,\n finished: !tick\n });\n if (tick) {\n return requestAnimationFrame(val => runCount(val));\n }\n }\n return requestAnimationFrame(timestamp => {\n startTime = timestamp;\n return runCount(timestamp);\n });\n}\n/**\n * Determine decimals places\n *\n * @export\n */\nfunction decimalChecker(countTo) {\n const endVal = Number(countTo);\n if (endVal % 1 !== 0 && Math.abs(endVal) <= 10) {\n return 2;\n }\n return 0;\n}\n\n/**\n * Count up component\n *\n * Loosely inspired by:\n * - https://github.com/izupet/angular2-counto\n * - https://inorganik.github.io/countUp.js/\n *\n * @export\n */\nlet CountUpDirective = /*#__PURE__*/(() => {\n class CountUpDirective {\n constructor(cd, element) {\n this.cd = cd;\n this.countDuration = 1;\n this.countPrefix = '';\n this.countSuffix = '';\n this.countChange = new EventEmitter();\n this.countFinish = new EventEmitter();\n this.value = '';\n this._countDecimals = 0;\n this._countTo = 0;\n this._countFrom = 0;\n this.nativeElement = element.nativeElement;\n }\n set countDecimals(val) {\n this._countDecimals = val;\n }\n get countDecimals() {\n if (this._countDecimals) return this._countDecimals;\n return decimalChecker(this.countTo);\n }\n set countTo(val) {\n this._countTo = parseFloat(val);\n this.start();\n }\n get countTo() {\n return this._countTo;\n }\n set countFrom(val) {\n this._countFrom = parseFloat(val);\n this.start();\n }\n get countFrom() {\n return this._countFrom;\n }\n ngOnDestroy() {\n cancelAnimationFrame(this.animationReq);\n }\n start() {\n cancelAnimationFrame(this.animationReq);\n const valueFormatting = this.valueFormatting || (value => `${this.countPrefix}${value.toLocaleString()}${this.countSuffix}`);\n const callback = ({\n value,\n progress,\n finished\n }) => {\n this.value = valueFormatting(value);\n this.cd.markForCheck();\n if (!finished) this.countChange.emit({\n value: this.value,\n progress\n });\n if (finished) this.countFinish.emit({\n value: this.value,\n progress\n });\n };\n this.animationReq = count(this.countFrom, this.countTo, this.countDecimals, this.countDuration, callback);\n }\n }\n CountUpDirective.ɵfac = function CountUpDirective_Factory(t) {\n return new (t || CountUpDirective)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n CountUpDirective.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CountUpDirective,\n selectors: [[\"\", \"ngx-charts-count-up\", \"\"]],\n inputs: {\n countDuration: \"countDuration\",\n countPrefix: \"countPrefix\",\n countSuffix: \"countSuffix\",\n valueFormatting: \"valueFormatting\",\n countDecimals: \"countDecimals\",\n countTo: \"countTo\",\n countFrom: \"countFrom\"\n },\n outputs: {\n countChange: \"countChange\",\n countFinish: \"countFinish\"\n },\n attrs: _c17,\n decls: 1,\n vars: 1,\n template: function CountUpDirective_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n i0.ɵɵtextInterpolate1(\" \", ctx.value, \" \");\n }\n },\n encapsulation: 2\n });\n return CountUpDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// If we don't check whether 'window' and 'global' variables are defined,\n// code will fail in browser/node with 'variable is undefined' error.\nlet root;\nif (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n}\n// tslint:disable-next-line:variable-name\nconst MouseEvent = root.MouseEvent;\nfunction createMouseEvent(name, bubbles = false, cancelable = true) {\n // Calling new of an event does not work correctly on IE. The following is a tested workaround\n // See https://stackoverflow.com/questions/27176983/dispatchevent-not-working-in-ie11\n if (typeof MouseEvent === 'function') {\n // Sane browsers\n return new MouseEvent(name, {\n bubbles,\n cancelable\n });\n } else {\n // IE\n const event = document.createEvent('MouseEvent');\n event.initEvent(name, bubbles, cancelable);\n return event;\n }\n}\nlet TooltipArea = /*#__PURE__*/(() => {\n class TooltipArea {\n constructor(platformId) {\n this.platformId = platformId;\n this.anchorOpacity = 0;\n this.anchorPos = -1;\n this.anchorValues = [];\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n this.showPercentage = false;\n this.tooltipDisabled = false;\n this.hover = new EventEmitter();\n }\n getValues(xVal) {\n const results = [];\n for (const group of this.results) {\n const item = group.series.find(d => d.name.toString() === xVal.toString());\n let groupName = group.name;\n if (groupName instanceof Date) {\n groupName = groupName.toLocaleDateString();\n }\n if (item) {\n const label = item.name;\n let val = item.value;\n if (this.showPercentage) {\n val = (item.d1 - item.d0).toFixed(2) + '%';\n }\n let color;\n if (this.colors.scaleType === ScaleType.Linear) {\n let v = val;\n if (item.d1) {\n v = item.d1;\n }\n color = this.colors.getColor(v);\n } else {\n color = this.colors.getColor(group.name);\n }\n const data = Object.assign({}, item, {\n value: val,\n name: label,\n series: groupName,\n min: item.min,\n max: item.max,\n color\n });\n results.push(data);\n }\n }\n return results;\n }\n mouseMove(event) {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const xPos = event.pageX - event.target.getBoundingClientRect().left;\n const closestIndex = this.findClosestPointIndex(xPos);\n const closestPoint = this.xSet[closestIndex];\n this.anchorPos = this.xScale(closestPoint);\n this.anchorPos = Math.max(0, this.anchorPos);\n this.anchorPos = Math.min(this.dims.width, this.anchorPos);\n this.anchorValues = this.getValues(closestPoint);\n if (this.anchorPos !== this.lastAnchorPos) {\n const ev = createMouseEvent('mouseleave');\n this.tooltipAnchor.nativeElement.dispatchEvent(ev);\n this.anchorOpacity = 0.7;\n this.hover.emit({\n value: closestPoint\n });\n this.showTooltip();\n this.lastAnchorPos = this.anchorPos;\n }\n }\n findClosestPointIndex(xPos) {\n let minIndex = 0;\n let maxIndex = this.xSet.length - 1;\n let minDiff = Number.MAX_VALUE;\n let closestIndex = 0;\n while (minIndex <= maxIndex) {\n const currentIndex = (minIndex + maxIndex) / 2 | 0;\n const currentElement = this.xScale(this.xSet[currentIndex]);\n const curDiff = Math.abs(currentElement - xPos);\n if (curDiff < minDiff) {\n minDiff = curDiff;\n closestIndex = currentIndex;\n }\n if (currentElement < xPos) {\n minIndex = currentIndex + 1;\n } else if (currentElement > xPos) {\n maxIndex = currentIndex - 1;\n } else {\n minDiff = 0;\n closestIndex = currentIndex;\n break;\n }\n }\n return closestIndex;\n }\n showTooltip() {\n const event = createMouseEvent('mouseenter');\n this.tooltipAnchor.nativeElement.dispatchEvent(event);\n }\n hideTooltip() {\n const event = createMouseEvent('mouseleave');\n this.tooltipAnchor.nativeElement.dispatchEvent(event);\n this.anchorOpacity = 0;\n this.lastAnchorPos = -1;\n }\n getToolTipText(tooltipItem) {\n let result = '';\n if (tooltipItem.series !== undefined) {\n result += tooltipItem.series;\n } else {\n result += '???';\n }\n result += ': ';\n if (tooltipItem.value !== undefined) {\n result += tooltipItem.value.toLocaleString();\n }\n if (tooltipItem.min !== undefined || tooltipItem.max !== undefined) {\n result += ' (';\n if (tooltipItem.min !== undefined) {\n if (tooltipItem.max === undefined) {\n result += '≥';\n }\n result += tooltipItem.min.toLocaleString();\n if (tooltipItem.max !== undefined) {\n result += ' - ';\n }\n } else if (tooltipItem.max !== undefined) {\n result += '≤';\n }\n if (tooltipItem.max !== undefined) {\n result += tooltipItem.max.toLocaleString();\n }\n result += ')';\n }\n return result;\n }\n }\n TooltipArea.ɵfac = function TooltipArea_Factory(t) {\n return new (t || TooltipArea)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n TooltipArea.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TooltipArea,\n selectors: [[\"g\", \"ngx-charts-tooltip-area\", \"\"]],\n viewQuery: function TooltipArea_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c18, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipAnchor = _t.first);\n }\n },\n inputs: {\n dims: \"dims\",\n xSet: \"xSet\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n results: \"results\",\n colors: \"colors\",\n showPercentage: \"showPercentage\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\"\n },\n outputs: {\n hover: \"hover\"\n },\n attrs: _c19,\n decls: 6,\n vars: 18,\n consts: [[\"defaultTooltipTemplate\", \"\"], [\"tooltipAnchor\", \"\"], [\"y\", \"0\", 1, \"tooltip-area\", 2, \"opacity\", \"0\", \"cursor\", \"'auto'\", 3, \"mousemove\", \"mouseleave\"], [\"y\", \"0\", \"ngx-tooltip\", \"\", 1, \"tooltip-anchor\", 3, \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipSpacing\", \"tooltipTemplate\", \"tooltipContext\", \"tooltipImmediateExit\"], [1, \"area-tooltip-container\"], [\"class\", \"tooltip-item\", 4, \"ngFor\", \"ngForOf\"], [1, \"tooltip-item\"], [1, \"tooltip-item-color\"]],\n template: function TooltipArea_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"rect\", 2);\n i0.ɵɵlistener(\"mousemove\", function TooltipArea_Template_rect_mousemove_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.mouseMove($event));\n })(\"mouseleave\", function TooltipArea_Template_rect_mouseleave_1_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.hideTooltip());\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, TooltipArea__svg_ng_template_2_Template, 2, 1, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelement(4, \"rect\", 3, 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const defaultTooltipTemplate_r5 = i0.ɵɵreference(3);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"x\", 0)(\"width\", ctx.dims.width)(\"height\", ctx.dims.height);\n i0.ɵɵadvance(3);\n i0.ɵɵstyleProp(\"opacity\", ctx.anchorOpacity)(\"pointer-events\", \"none\");\n i0.ɵɵproperty(\"@animationState\", ctx.anchorOpacity !== 0 ? \"active\" : \"inactive\")(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipPlacement\", ctx.placementTypes.Right)(\"tooltipType\", ctx.styleTypes.tooltip)(\"tooltipSpacing\", 15)(\"tooltipTemplate\", ctx.tooltipTemplate ? ctx.tooltipTemplate : defaultTooltipTemplate_r5)(\"tooltipContext\", ctx.anchorValues)(\"tooltipImmediateExit\", true);\n i0.ɵɵattribute(\"x\", ctx.anchorPos)(\"width\", 1)(\"height\", ctx.dims.height);\n }\n },\n dependencies: [i2.NgForOf, TooltipDirective],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition('inactive => active', [style({\n opacity: 0\n }), animate(250, style({\n opacity: 0.7\n }))]), transition('active => inactive', [style({\n opacity: 0.7\n }), animate(250, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return TooltipArea;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet Timeline = /*#__PURE__*/(() => {\n class Timeline {\n constructor(element, cd) {\n this.cd = cd;\n this.height = 50;\n this.select = new EventEmitter();\n this.onDomainChange = new EventEmitter();\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n if (!this.initialized) {\n this.addBrush();\n this.initialized = true;\n }\n }\n update() {\n this.dims = this.getDims();\n this.height = this.dims.height;\n const offsetY = this.view[1] - this.height;\n this.xDomain = this.getXDomain();\n this.xScale = this.getXScale();\n if (this.brush) {\n this.updateBrush();\n }\n this.transform = `translate(0 , ${offsetY})`;\n this.filterId = 'filter' + id().toString();\n this.filter = `url(#${this.filterId})`;\n this.cd.markForCheck();\n }\n getXDomain() {\n let values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n let domain = [];\n if (this.scaleType === ScaleType.Time) {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n } else if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n } else {\n domain = values;\n }\n return domain;\n }\n getXScale() {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime().range([0, this.dims.width]).domain(this.xDomain);\n } else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear().range([0, this.dims.width]).domain(this.xDomain);\n } else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().range([0, this.dims.width]).padding(0.1).domain(this.xDomain);\n }\n return scale;\n }\n addBrush() {\n if (this.brush) return;\n const height = this.height;\n const width = this.view[0];\n this.brush = brushX().extent([[0, 0], [width, height]]).on('brush end', ({\n selection\n }) => {\n const newSelection = selection || this.xScale.range();\n const newDomain = newSelection.map(this.xScale.invert);\n this.onDomainChange.emit(newDomain);\n this.cd.markForCheck();\n });\n select(this.element).select('.brush').call(this.brush);\n }\n updateBrush() {\n if (!this.brush) return;\n const height = this.height;\n const width = this.view[0];\n this.brush.extent([[0, 0], [width, height]]);\n select(this.element).select('.brush').call(this.brush);\n // clear hardcoded properties so they can be defined by CSS\n select(this.element).select('.selection').attr('fill', undefined).attr('stroke', undefined).attr('fill-opacity', undefined);\n this.cd.markForCheck();\n }\n getDims() {\n const width = this.view[0];\n const dims = {\n width,\n height: this.height\n };\n return dims;\n }\n }\n Timeline.ɵfac = function Timeline_Factory(t) {\n return new (t || Timeline)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n Timeline.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Timeline,\n selectors: [[\"g\", \"ngx-charts-timeline\", \"\"]],\n inputs: {\n view: \"view\",\n results: \"results\",\n scheme: \"scheme\",\n customColors: \"customColors\",\n legend: \"legend\",\n autoScale: \"autoScale\",\n scaleType: \"scaleType\",\n height: \"height\"\n },\n outputs: {\n select: \"select\",\n onDomainChange: \"onDomainChange\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c20,\n ngContentSelectors: _c2,\n decls: 7,\n vars: 4,\n consts: [[1, \"timeline\"], [\"in\", \"SourceGraphic\", \"type\", \"matrix\", \"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"], [1, \"embedded-chart\"], [\"x\", \"0\", \"y\", \"0\", 1, \"brush-background\"], [1, \"brush\"]],\n template: function Timeline_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 0)(1, \"filter\");\n i0.ɵɵelement(2, \"feColorMatrix\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"g\", 2);\n i0.ɵɵprojection(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(5, \"rect\", 3)(6, \"g\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"id\", ctx.filterId);\n i0.ɵɵadvance(4);\n i0.ɵɵattribute(\"width\", ctx.view[0])(\"height\", ctx.height);\n }\n },\n styles: [\".timeline .brush-background{fill:#0000000d}.timeline .brush .selection{fill:#0000001a;stroke-width:1px;stroke:#888}.timeline .brush .handle{fill-opacity:0}.timeline .embedded-chart{opacity:.6}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return Timeline;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AdvancedLegendComponent = /*#__PURE__*/(() => {\n class AdvancedLegendComponent {\n constructor() {\n this.label = 'Total';\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.legendItems = [];\n this.labelFormatting = label => label;\n this.percentageFormatting = percentage => percentage;\n this.defaultValueFormatting = value => value.toLocaleString();\n }\n ngOnChanges(changes) {\n this.update();\n }\n getTotal() {\n return this.data.map(d => Number(d.value)).reduce((sum, d) => sum + d, 0);\n }\n update() {\n this.total = this.getTotal();\n this.roundedTotal = this.total;\n this.legendItems = this.getLegendItems();\n }\n getLegendItems() {\n return this.data.map(d => {\n const label = formatLabel(d.name);\n const value = d.value;\n const color = this.colors.getColor(label);\n const percentage = this.total > 0 ? value / this.total * 100 : 0;\n const formattedLabel = typeof this.labelFormatting === 'function' ? this.labelFormatting(label) : label;\n return {\n _value: value,\n data: d,\n value,\n color,\n label: formattedLabel,\n displayLabel: trimLabel(formattedLabel, 20),\n origialLabel: d.name,\n percentage: this.percentageFormatting ? this.percentageFormatting(percentage) : percentage.toLocaleString()\n };\n });\n }\n trackBy(index, item) {\n return item.label;\n }\n }\n AdvancedLegendComponent.ɵfac = function AdvancedLegendComponent_Factory(t) {\n return new (t || AdvancedLegendComponent)();\n };\n AdvancedLegendComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AdvancedLegendComponent,\n selectors: [[\"ngx-charts-advanced-legend\"]],\n inputs: {\n width: \"width\",\n data: \"data\",\n colors: \"colors\",\n label: \"label\",\n animations: \"animations\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n percentageFormatting: \"percentageFormatting\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 8,\n vars: 7,\n consts: [[1, \"advanced-pie-legend\"], [\"class\", \"total-value\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"valueFormatting\", 4, \"ngIf\"], [\"class\", \"total-value\", 4, \"ngIf\"], [1, \"total-label\"], [1, \"legend-items-container\"], [1, \"legend-items\"], [\"tabindex\", \"-1\", \"class\", \"legend-item\", 3, \"mouseenter\", \"mouseleave\", \"click\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-count-up\", \"\", 1, \"total-value\", 3, \"countTo\", \"valueFormatting\"], [1, \"total-value\"], [\"tabindex\", \"-1\", 1, \"legend-item\", 3, \"mouseenter\", \"mouseleave\", \"click\"], [1, \"item-color\"], [\"class\", \"item-value\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"valueFormatting\", 4, \"ngIf\"], [\"class\", \"item-value\", 4, \"ngIf\"], [1, \"item-label\"], [\"class\", \"item-percent\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"countSuffix\", 4, \"ngIf\"], [\"class\", \"item-percent\", 4, \"ngIf\"], [\"ngx-charts-count-up\", \"\", 1, \"item-value\", 3, \"countTo\", \"valueFormatting\"], [1, \"item-value\"], [\"ngx-charts-count-up\", \"\", 1, \"item-percent\", 3, \"countTo\", \"countSuffix\"], [1, \"item-percent\"]],\n template: function AdvancedLegendComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵtemplate(1, AdvancedLegendComponent_div_1_Template, 1, 2, \"div\", 1)(2, AdvancedLegendComponent_div_2_Template, 2, 1, \"div\", 2);\n i0.ɵɵelementStart(3, \"div\", 3);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"div\", 4)(6, \"div\", 5);\n i0.ɵɵtemplate(7, AdvancedLegendComponent_div_7_Template, 8, 7, \"div\", 6);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"width\", ctx.width, \"px\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx.label, \" \");\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngForOf\", ctx.legendItems)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [CountUpDirective, i2.NgIf, i2.NgForOf],\n styles: [\".advanced-pie-legend{float:left;position:relative;top:50%;transform:translateY(-50%)}.advanced-pie-legend .total-value{font-size:36px}.advanced-pie-legend .total-label{font-size:24px;margin-bottom:19px}.advanced-pie-legend .legend-items-container{width:100%}.advanced-pie-legend .legend-items-container .legend-items{white-space:nowrap;overflow:auto}.advanced-pie-legend .legend-items-container .legend-items .legend-item{margin-right:20px;display:inline-block;cursor:pointer}.advanced-pie-legend .legend-items-container .legend-items .legend-item:focus{outline:none}.advanced-pie-legend .legend-items-container .legend-items .legend-item:hover{color:#000;transition:.2s}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-value{font-size:24px;margin-top:-6px;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-label{font-size:14px;opacity:.7;margin-left:11px;margin-top:-6px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-percent{font-size:24px;opacity:.7;margin-left:11px}.advanced-pie-legend .legend-items-container .legend-items .legend-item .item-color{border-left:4px solid;width:4px;height:42px;float:left;margin-right:7px}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return AdvancedLegendComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst COMPONENTS = [AreaComponent, BaseChartComponent, CountUpDirective, TooltipArea, ChartComponent, LegendComponent, LegendEntryComponent, ScaleLegendComponent, CircleComponent, CircleSeriesComponent, GridPanelComponent, GridPanelSeriesComponent, SvgLinearGradientComponent, SvgRadialGradientComponent, Timeline, AdvancedLegendComponent];\nlet ChartCommonModule = /*#__PURE__*/(() => {\n class ChartCommonModule {}\n ChartCommonModule.ɵfac = function ChartCommonModule_Factory(t) {\n return new (t || ChartCommonModule)();\n };\n ChartCommonModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ChartCommonModule\n });\n ChartCommonModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[CommonModule, AxesModule, TooltipModule], CommonModule, AxesModule, TooltipModule]\n });\n return ChartCommonModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction calculateViewDimensions({\n width,\n height,\n margins,\n showXAxis = false,\n showYAxis = false,\n xAxisHeight = 0,\n yAxisWidth = 0,\n showXLabel = false,\n showYLabel = false,\n showLegend = false,\n legendType = ScaleType.Ordinal,\n legendPosition = LegendPosition.Right,\n columns = 12\n}) {\n let xOffset = margins[3];\n let chartWidth = width;\n let chartHeight = height - margins[0] - margins[2];\n if (showLegend && legendPosition === LegendPosition.Right) {\n if (legendType === ScaleType.Ordinal) {\n columns -= 2;\n } else {\n columns -= 1;\n }\n }\n chartWidth = chartWidth * columns / 12;\n chartWidth = chartWidth - margins[1] - margins[3];\n if (showXAxis) {\n chartHeight -= 5;\n chartHeight -= xAxisHeight;\n if (showXLabel) {\n // text height + spacing between axis label and tick labels\n const offset = 25 + 5;\n chartHeight -= offset;\n }\n }\n if (showYAxis) {\n chartWidth -= 5;\n chartWidth -= yAxisWidth;\n xOffset += yAxisWidth;\n xOffset += 10;\n if (showYLabel) {\n // text height + spacing between axis label and tick labels\n const offset = 25 + 5;\n chartWidth -= offset;\n xOffset += offset;\n }\n }\n chartWidth = Math.max(0, chartWidth);\n chartHeight = Math.max(0, chartHeight);\n return {\n width: Math.floor(chartWidth),\n height: Math.floor(chartHeight),\n xOffset: Math.floor(xOffset)\n };\n}\nlet colorSets = [{\n name: 'vivid',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: ['#647c8a', '#3f51b5', '#2196f3', '#00b862', '#afdf0a', '#a7b61a', '#f3e562', '#ff9800', '#ff5722', '#ff4514']\n}, {\n name: 'natural',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: ['#bf9d76', '#e99450', '#d89f59', '#f2dfa7', '#a5d7c6', '#7794b1', '#afafaf', '#707160', '#ba9383', '#d9d5c3']\n}, {\n name: 'cool',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: ['#a8385d', '#7aa3e5', '#a27ea8', '#aae3f5', '#adcded', '#a95963', '#8796c0', '#7ed3ed', '#50abcc', '#ad6886']\n}, {\n name: 'fire',\n selectable: true,\n group: ScaleType.Ordinal,\n domain: ['#ff3d00', '#bf360c', '#ff8f00', '#ff6f00', '#ff5722', '#e65100', '#ffca28', '#ffab00']\n}, {\n name: 'solar',\n selectable: true,\n group: ScaleType.Linear,\n domain: ['#fff8e1', '#ffecb3', '#ffe082', '#ffd54f', '#ffca28', '#ffc107', '#ffb300', '#ffa000', '#ff8f00', '#ff6f00']\n}, {\n name: 'air',\n selectable: true,\n group: ScaleType.Linear,\n domain: ['#e1f5fe', '#b3e5fc', '#81d4fa', '#4fc3f7', '#29b6f6', '#03a9f4', '#039be5', '#0288d1', '#0277bd', '#01579b']\n}, {\n name: 'aqua',\n selectable: true,\n group: ScaleType.Linear,\n domain: ['#e0f7fa', '#b2ebf2', '#80deea', '#4dd0e1', '#26c6da', '#00bcd4', '#00acc1', '#0097a7', '#00838f', '#006064']\n}, {\n name: 'flame',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#A10A28', '#D3342D', '#EF6D49', '#FAAD67', '#FDDE90', '#DBED91', '#A9D770', '#6CBA67', '#2C9653', '#146738']\n}, {\n name: 'ocean',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#1D68FB', '#33C0FC', '#4AFFFE', '#AFFFFF', '#FFFC63', '#FDBD2D', '#FC8A25', '#FA4F1E', '#FA141B', '#BA38D1']\n}, {\n name: 'forest',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#55C22D', '#C1F33D', '#3CC099', '#AFFFFF', '#8CFC9D', '#76CFFA', '#BA60FB', '#EE6490', '#C42A1C', '#FC9F32']\n}, {\n name: 'horizon',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#2597FB', '#65EBFD', '#99FDD0', '#FCEE4B', '#FEFCFA', '#FDD6E3', '#FCB1A8', '#EF6F7B', '#CB96E8', '#EFDEE0']\n}, {\n name: 'neons',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#FF3333', '#FF33FF', '#CC33FF', '#0000FF', '#33CCFF', '#33FFFF', '#33FF66', '#CCFF33', '#FFCC00', '#FF6600']\n}, {\n name: 'picnic',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#FAC51D', '#66BD6D', '#FAA026', '#29BB9C', '#E96B56', '#55ACD2', '#B7332F', '#2C83C9', '#9166B8', '#92E7E8']\n}, {\n name: 'night',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#2B1B5A', '#501356', '#183356', '#28203F', '#391B3C', '#1E2B3C', '#120634', '#2D0432', '#051932', '#453080', '#75267D', '#2C507D', '#4B3880', '#752F7D', '#35547D']\n}, {\n name: 'nightLights',\n selectable: false,\n group: ScaleType.Ordinal,\n domain: ['#4e31a5', '#9c25a7', '#3065ab', '#57468b', '#904497', '#46648b', '#32118d', '#a00fb3', '#1052a2', '#6e51bd', '#b63cc3', '#6c97cb', '#8671c1', '#b455be', '#7496c3']\n}];\nclass ColorHelper {\n constructor(scheme, type, domain, customColors) {\n if (typeof scheme === 'string') {\n scheme = colorSets.find(cs => {\n return cs.name === scheme;\n });\n }\n this.colorDomain = scheme.domain;\n this.scaleType = type;\n this.domain = domain;\n this.customColors = customColors;\n this.scale = this.generateColorScheme(scheme, type, this.domain);\n }\n generateColorScheme(scheme, type, domain) {\n if (typeof scheme === 'string') {\n scheme = colorSets.find(cs => {\n return cs.name === scheme;\n });\n }\n let colorScale;\n switch (type) {\n case ScaleType.Quantile:\n colorScale = scaleQuantile().range(scheme.domain).domain(domain);\n break;\n case ScaleType.Ordinal:\n colorScale = scaleOrdinal().range(scheme.domain).domain(domain);\n break;\n case ScaleType.Linear:\n {\n const colorDomain = [...scheme.domain];\n if (colorDomain.length === 1) {\n colorDomain.push(colorDomain[0]);\n this.colorDomain = colorDomain;\n }\n const points = range(0, 1, 1.0 / colorDomain.length);\n colorScale = scaleLinear().range(colorDomain).domain(points);\n }\n break;\n default:\n break;\n }\n return colorScale;\n }\n getColor(value) {\n if (value === undefined || value === null) {\n throw new Error('Value can not be null');\n }\n if (this.scaleType === ScaleType.Linear) {\n const valueScale = scaleLinear().domain(this.domain).range([0, 1]);\n return this.scale(valueScale(value));\n } else {\n if (typeof this.customColors === 'function') {\n return this.customColors(value);\n }\n const formattedValue = value.toString();\n let found; // todo type customColors\n if (this.customColors && this.customColors.length > 0) {\n found = this.customColors.find(mapping => {\n return mapping.name.toLowerCase() === formattedValue.toLowerCase();\n });\n }\n if (found) {\n return found.value;\n } else {\n return this.scale(value);\n }\n }\n }\n getLinearGradientStops(value, start) {\n if (start === undefined) {\n start = this.domain[0];\n }\n const valueScale = scaleLinear().domain(this.domain).range([0, 1]);\n const colorValueScale = scaleBand().domain(this.colorDomain).range([0, 1]);\n const endColor = this.getColor(value);\n // generate the stops\n const startVal = valueScale(start);\n const startColor = this.getColor(start);\n const endVal = valueScale(value);\n let i = 1;\n let currentVal = startVal;\n const stops = [];\n stops.push({\n color: startColor,\n offset: startVal,\n originalOffset: startVal,\n opacity: 1\n });\n while (currentVal < endVal && i < this.colorDomain.length) {\n const color = this.colorDomain[i];\n const offset = colorValueScale(color);\n if (offset <= startVal) {\n i++;\n continue;\n }\n if (offset.toFixed(4) >= (endVal - colorValueScale.bandwidth()).toFixed(4)) {\n break;\n }\n stops.push({\n color,\n offset,\n opacity: 1\n });\n currentVal = offset;\n i++;\n }\n if (stops[stops.length - 1].offset < 100) {\n stops.push({\n color: endColor,\n offset: endVal,\n opacity: 1\n });\n }\n if (endVal === startVal) {\n stops[0].offset = 0;\n stops[1].offset = 100;\n } else {\n // normalize the offsets into percentages\n if (stops[stops.length - 1].offset !== 100) {\n for (const s of stops) {\n s.offset = (s.offset - startVal) / (endVal - startVal) * 100;\n }\n }\n }\n return stops;\n }\n}\n\n/**\n * Based on the data, return an array with unique values.\n *\n * @export\n * @returns array\n */\nfunction getUniqueXDomainValues(results) {\n const valueSet = new Set();\n for (const result of results) {\n for (const d of result.series) {\n valueSet.add(d.name);\n }\n }\n return Array.from(valueSet);\n}\n/**\n * Get the scaleType of enumerable of values.\n * @returns 'time', 'linear' or 'ordinal'\n */\nfunction getScaleType(values, checkDateType = true) {\n if (checkDateType) {\n const allDates = values.every(value => value instanceof Date);\n if (allDates) {\n return ScaleType.Time;\n }\n }\n const allNumbers = values.every(value => typeof value === 'number');\n if (allNumbers) {\n return ScaleType.Linear;\n }\n return ScaleType.Ordinal;\n}\nfunction getXDomainArray(values, xScaleMin, xScaleMax) {\n const scaleType = getScaleType(values);\n let xSet = [];\n let domain = [];\n if (scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (scaleType === ScaleType.Time || scaleType === ScaleType.Linear) {\n const mappedValues = values.map(v => Number(v));\n min = xScaleMin ? xScaleMin : Math.min(...mappedValues);\n max = xScaleMax ? xScaleMax : Math.max(...mappedValues);\n }\n if (scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate) return 1;\n if (bDate > aDate) return -1;\n return 0;\n });\n } else if (scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n xSet = [...values].sort((a, b) => a - b);\n } else {\n domain = values;\n xSet = values;\n }\n return {\n domain,\n xSet,\n scaleType\n };\n}\nfunction sortLinear(data, property, direction = 'asc') {\n return data.sort((a, b) => {\n if (direction === 'asc') {\n return a[property] - b[property];\n } else {\n return b[property] - a[property];\n }\n });\n}\nfunction sortByDomain(data, property, direction = 'asc', domain) {\n return data.sort((a, b) => {\n const aVal = a[property];\n const bVal = b[property];\n const aIdx = domain.indexOf(aVal);\n const bIdx = domain.indexOf(bVal);\n if (direction === 'asc') {\n return aIdx - bIdx;\n } else {\n return bIdx - aIdx;\n }\n });\n}\nfunction sortByTime(data, property, direction = 'asc') {\n return data.sort((a, b) => {\n const aDate = a[property].getTime();\n const bDate = b[property].getTime();\n if (direction === 'asc') {\n if (aDate > bDate) return 1;\n if (bDate > aDate) return -1;\n return 0;\n } else {\n if (aDate > bDate) return -1;\n if (bDate > aDate) return 1;\n return 0;\n }\n });\n}\nlet AreaSeriesComponent = /*#__PURE__*/(() => {\n class AreaSeriesComponent {\n constructor() {\n this.baseValue = 'auto';\n this.stacked = false;\n this.normalized = false;\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradient();\n let currentArea;\n let startingArea;\n const xProperty = d => {\n const label = d.name;\n return this.xScale(label);\n };\n if (this.stacked || this.normalized) {\n currentArea = area().x(xProperty).y0((d, i) => this.yScale(d.d0)).y1((d, i) => this.yScale(d.d1));\n startingArea = area().x(xProperty).y0(d => this.yScale.range()[0]).y1(d => this.yScale.range()[0]);\n } else {\n currentArea = area().x(xProperty).y0(() => this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)).y1(d => this.yScale(d.value));\n startingArea = area().x(xProperty).y0(d => this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue)).y1(d => this.baseValue === 'auto' ? this.yScale.range()[0] : this.yScale(this.baseValue));\n }\n currentArea.curve(this.curve);\n startingArea.curve(this.curve);\n this.opacity = 0.8;\n let data = this.data.series;\n if (this.scaleType === ScaleType.Linear) {\n data = sortLinear(data, 'name');\n } else if (this.scaleType === ScaleType.Time) {\n data = sortByTime(data, 'name');\n } else {\n data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n this.path = currentArea(data);\n this.startingPath = startingArea(data);\n }\n updateGradient() {\n if (this.colors.scaleType === ScaleType.Linear) {\n this.hasGradient = true;\n if (this.stacked || this.normalized) {\n const d0values = this.data.series.map(d => d.d0);\n const d1values = this.data.series.map(d => d.d1);\n const max = Math.max(...d1values);\n const min = Math.min(...d0values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n } else {\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max);\n }\n } else {\n this.hasGradient = false;\n this.gradientStops = undefined;\n }\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n }\n AreaSeriesComponent.ɵfac = function AreaSeriesComponent_Factory(t) {\n return new (t || AreaSeriesComponent)();\n };\n AreaSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AreaSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-area-series\", \"\"]],\n inputs: {\n data: \"data\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n baseValue: \"baseValue\",\n colors: \"colors\",\n scaleType: \"scaleType\",\n stacked: \"stacked\",\n normalized: \"normalized\",\n gradient: \"gradient\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c21,\n decls: 1,\n vars: 12,\n consts: [[\"ngx-charts-area\", \"\", 1, \"area-series\", 3, \"data\", \"path\", \"fill\", \"stops\", \"startingPath\", \"opacity\", \"gradient\", \"animations\"]],\n template: function AreaSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"active\", ctx.isActive(ctx.data))(\"inactive\", ctx.isInactive(ctx.data));\n i0.ɵɵproperty(\"data\", ctx.data)(\"path\", ctx.path)(\"fill\", ctx.colors.getColor(ctx.data.name))(\"stops\", ctx.gradientStops)(\"startingPath\", ctx.startingPath)(\"opacity\", ctx.opacity)(\"gradient\", ctx.gradient || ctx.hasGradient)(\"animations\", ctx.animations);\n }\n },\n dependencies: [AreaComponent],\n encapsulation: 2,\n changeDetection: 0\n });\n return AreaSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AreaChartComponent = /*#__PURE__*/(() => {\n class AreaChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.xAxis = false;\n this.yAxis = false;\n this.baseValue = 'auto';\n this.autoScale = false;\n this.timeline = false;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === ScaleType.Time || this.scaleType === ScaleType.Linear) {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate) return 1;\n if (bDate > aDate) return -1;\n return 0;\n });\n } else if (this.scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n } else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const values = [...domain];\n if (!this.autoScale) {\n values.push(0);\n }\n if (this.baseValue !== 'auto') {\n values.push(this.baseValue);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(...values);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...values);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime();\n } else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear();\n } else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getScaleType(values) {\n let date = true;\n let num = true;\n for (const value of values) {\n if (isDate(value)) {\n date = false;\n }\n if (isNumber(value)) {\n num = false;\n }\n }\n if (date) {\n return ScaleType.Time;\n }\n if (num) {\n return ScaleType.Linear;\n }\n return ScaleType.Ordinal;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({\n value: entry,\n entries: []\n });\n }\n this.activeEntries = [];\n }\n }\n AreaChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵAreaChartComponent_BaseFactory;\n return function AreaChartComponent_Factory(t) {\n return (ɵAreaChartComponent_BaseFactory || (ɵAreaChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AreaChartComponent)))(t || AreaChartComponent);\n };\n })();\n AreaChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AreaChartComponent,\n selectors: [[\"ngx-charts-area-chart\"]],\n contentQueries: function AreaChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n i0.ɵɵcontentQuery(dirIndex, _c23, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n }\n },\n hostBindings: function AreaChartComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseleave\", function AreaChartComponent_mouseleave_HostBindingHandler() {\n return ctx.hideCircles();\n });\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n baseValue: \"baseValue\",\n autoScale: \"autoScale\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n timeline: \"timeline\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n roundDomains: \"roundDomains\",\n tooltipDisabled: \"tooltipDisabled\",\n xScaleMin: \"xScaleMin\",\n xScaleMax: \"xScaleMax\",\n yScaleMin: \"yScaleMin\",\n yScaleMax: \"yScaleMax\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 11,\n vars: 20,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"area-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"baseValue\", \"colors\", \"data\", \"activeEntries\", \"scaleType\", \"gradient\", \"curve\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"hover\", \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"tooltipDisabled\", \"tooltipTemplate\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-circle-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"xScale\", \"yScale\", \"colors\", \"activeEntries\", \"data\", \"scaleType\", \"visibleValue\", \"tooltipDisabled\", \"tooltipTemplate\"], [\"ngx-charts-timeline\", \"\", 3, \"onDomainChange\", \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"baseValue\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"curve\", \"animations\"]],\n template: function AreaChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function AreaChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function AreaChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function AreaChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n i0.ɵɵelement(3, \"rect\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"g\", 1);\n i0.ɵɵtemplate(5, AreaChartComponent__svg_g_5_Template, 1, 10, \"g\", 2)(6, AreaChartComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementStart(7, \"g\");\n i0.ɵɵtemplate(8, AreaChartComponent__svg_g_8_Template, 2, 10, \"g\", 4)(9, AreaChartComponent__svg_g_9_Template, 3, 9, \"g\", 5);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(10, AreaChartComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(17, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"id\", ctx.clipPathId);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, AreaSeriesComponent, TooltipArea, CircleSeriesComponent, Timeline, i2.NgIf, i2.NgForOf],\n styles: [\".ngx-charts-outer{-webkit-animation:chartFadeIn linear .6s;animation:chartFadeIn linear .6s}@-webkit-keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}@keyframes chartFadeIn{0%{opacity:0}20%{opacity:0}to{opacity:1}}.ngx-charts{float:left;overflow:visible}.ngx-charts .circle,.ngx-charts .cell,.ngx-charts .bar,.ngx-charts .arc{cursor:pointer}.ngx-charts .bar.active,.ngx-charts .bar:hover,.ngx-charts .cell.active,.ngx-charts .cell:hover,.ngx-charts .arc.active,.ngx-charts .arc:hover,.ngx-charts .card.active,.ngx-charts .card:hover{opacity:.8;transition:opacity .1s ease-in-out}.ngx-charts .bar:focus,.ngx-charts .cell:focus,.ngx-charts .arc:focus,.ngx-charts .card:focus{outline:none}.ngx-charts .bar.hidden,.ngx-charts .cell.hidden,.ngx-charts .arc.hidden,.ngx-charts .card.hidden{display:none}.ngx-charts g:focus{outline:none}.ngx-charts .line-series.inactive,.ngx-charts .line-series-range.inactive,.ngx-charts .polar-series-path.inactive,.ngx-charts .polar-series-area.inactive,.ngx-charts .area-series.inactive{transition:opacity .1s ease-in-out;opacity:.2}.ngx-charts .line-highlight{display:none}.ngx-charts .line-highlight.active{display:block}.ngx-charts .area{opacity:.6}.ngx-charts .circle:hover{cursor:pointer}.ngx-charts .label{font-size:12px;font-weight:400}.ngx-charts .tooltip-anchor{fill:#000}.ngx-charts .gridline-path{stroke:#ddd;stroke-width:1;fill:none}.ngx-charts .refline-path{stroke:#a8b2c7;stroke-width:1;stroke-dasharray:5;stroke-dashoffset:5}.ngx-charts .refline-label{font-size:9px}.ngx-charts .reference-area{fill-opacity:.05;fill:#000}.ngx-charts .gridline-path-dotted{stroke:#ddd;stroke-width:1;fill:none;stroke-dasharray:1,20;stroke-dashoffset:3}.ngx-charts .grid-panel rect{fill:none}.ngx-charts .grid-panel.odd rect{fill:#0000000d}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return AreaChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AreaChartNormalizedComponent = /*#__PURE__*/(() => {\n class AreaChartNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.showXAxisLabel = false;\n this.showYAxisLabel = false;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.yDomain = [0, 100];\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.seriesType = SeriesType;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let d0 = 0;\n let total = 0;\n for (const group of this.results) {\n const d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n total += d.value;\n }\n }\n for (const group of this.results) {\n let d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n d.d0 = d0;\n d.d1 = d0 + d.value;\n d0 += d.value;\n } else {\n d = {\n name: val,\n value: 0,\n d0,\n d1: d0\n };\n group.series.push(d);\n }\n if (total > 0) {\n d.d0 = d.d0 * 100 / total;\n d.d1 = d.d1 * 100 / total;\n } else {\n d.d0 = 0;\n d.d1 = 0;\n }\n }\n }\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Time) {\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate) return 1;\n if (bDate > aDate) return -1;\n return 0;\n });\n } else if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n } else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime();\n } else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear();\n } else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({\n value: entry,\n entries: []\n });\n }\n this.activeEntries = [];\n }\n }\n AreaChartNormalizedComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵAreaChartNormalizedComponent_BaseFactory;\n return function AreaChartNormalizedComponent_Factory(t) {\n return (ɵAreaChartNormalizedComponent_BaseFactory || (ɵAreaChartNormalizedComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AreaChartNormalizedComponent)))(t || AreaChartNormalizedComponent);\n };\n })();\n AreaChartNormalizedComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AreaChartNormalizedComponent,\n selectors: [[\"ngx-charts-area-chart-normalized\"]],\n contentQueries: function AreaChartNormalizedComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n i0.ɵɵcontentQuery(dirIndex, _c23, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n }\n },\n hostBindings: function AreaChartNormalizedComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseleave\", function AreaChartNormalizedComponent_mouseleave_HostBindingHandler() {\n return ctx.hideCircles();\n });\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n timeline: \"timeline\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n roundDomains: \"roundDomains\",\n tooltipDisabled: \"tooltipDisabled\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 11,\n vars: 20,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"area-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"activeEntries\", \"gradient\", \"normalized\", \"curve\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"hover\", \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"showPercentage\", \"tooltipDisabled\", \"tooltipTemplate\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-circle-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"type\", \"xScale\", \"yScale\", \"colors\", \"activeEntries\", \"data\", \"scaleType\", \"visibleValue\", \"tooltipDisabled\", \"tooltipTemplate\"], [\"ngx-charts-timeline\", \"\", 3, \"onDomainChange\", \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"normalized\", \"curve\", \"animations\"]],\n template: function AreaChartNormalizedComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function AreaChartNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n i0.ɵɵelement(3, \"rect\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"g\", 1);\n i0.ɵɵtemplate(5, AreaChartNormalizedComponent__svg_g_5_Template, 1, 10, \"g\", 2)(6, AreaChartNormalizedComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementStart(7, \"g\");\n i0.ɵɵtemplate(8, AreaChartNormalizedComponent__svg_g_8_Template, 2, 10, \"g\", 4)(9, AreaChartNormalizedComponent__svg_g_9_Template, 3, 10, \"g\", 5);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(10, AreaChartNormalizedComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(17, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"id\", ctx.clipPathId);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, AreaSeriesComponent, TooltipArea, CircleSeriesComponent, Timeline, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n changeDetection: 0\n });\n return AreaChartNormalizedComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AreaChartStackedComponent = /*#__PURE__*/(() => {\n class AreaChartStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.xAxis = false;\n this.yAxis = false;\n this.timeline = false;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.seriesType = SeriesType;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let d0 = 0;\n for (const group of this.results) {\n let d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n d.d0 = d0;\n d.d1 = d0 + d.value;\n d0 += d.value;\n } else {\n d = {\n name: val,\n value: 0,\n d0,\n d1: d0\n };\n group.series.push(d);\n }\n }\n }\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === ScaleType.Time || this.scaleType === ScaleType.Linear) {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate) return 1;\n if (bDate > aDate) return -1;\n return 0;\n });\n } else if (this.scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n } else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (let i = 0; i < this.xSet.length; i++) {\n const val = this.xSet[i];\n let sum = 0;\n for (const group of this.results) {\n const d = group.series.find(item => {\n let a = item.name;\n let b = val;\n if (this.scaleType === ScaleType.Time) {\n a = a.valueOf();\n b = b.valueOf();\n }\n return a === b;\n });\n if (d) {\n sum += d.value;\n }\n }\n domain.push(sum);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(0, ...domain);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...domain);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime();\n } else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear();\n } else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().padding(0.1);\n }\n scale.range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({\n value: entry,\n entries: []\n });\n }\n this.activeEntries = [];\n }\n }\n AreaChartStackedComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵAreaChartStackedComponent_BaseFactory;\n return function AreaChartStackedComponent_Factory(t) {\n return (ɵAreaChartStackedComponent_BaseFactory || (ɵAreaChartStackedComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AreaChartStackedComponent)))(t || AreaChartStackedComponent);\n };\n })();\n AreaChartStackedComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AreaChartStackedComponent,\n selectors: [[\"ngx-charts-area-chart-stacked\"]],\n contentQueries: function AreaChartStackedComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n i0.ɵɵcontentQuery(dirIndex, _c23, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n }\n },\n hostBindings: function AreaChartStackedComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseleave\", function AreaChartStackedComponent_mouseleave_HostBindingHandler() {\n return ctx.hideCircles();\n });\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n timeline: \"timeline\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n roundDomains: \"roundDomains\",\n tooltipDisabled: \"tooltipDisabled\",\n xScaleMin: \"xScaleMin\",\n xScaleMax: \"xScaleMax\",\n yScaleMin: \"yScaleMin\",\n yScaleMax: \"yScaleMax\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 11,\n vars: 20,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"area-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"activeEntries\", \"stacked\", \"curve\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"hover\", \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"tooltipDisabled\", \"tooltipTemplate\"], [\"ngx-charts-circle-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"type\", \"xScale\", \"yScale\", \"colors\", \"activeEntries\", \"data\", \"scaleType\", \"visibleValue\", \"tooltipDisabled\", \"tooltipTemplate\"], [\"ngx-charts-timeline\", \"\", 3, \"onDomainChange\", \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"legend\", \"scaleType\"], [\"ngx-charts-area-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"gradient\", \"stacked\", \"curve\", \"animations\"]],\n template: function AreaChartStackedComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function AreaChartStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n i0.ɵɵelement(3, \"rect\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"g\", 1);\n i0.ɵɵtemplate(5, AreaChartStackedComponent__svg_g_5_Template, 1, 10, \"g\", 2)(6, AreaChartStackedComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementStart(7, \"g\");\n i0.ɵɵtemplate(8, AreaChartStackedComponent__svg_g_8_Template, 2, 10, \"g\", 4)(9, AreaChartStackedComponent__svg_g_9_Template, 3, 10, \"g\", 5);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(10, AreaChartStackedComponent__svg_g_10_Template, 2, 13, \"g\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(17, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"id\", ctx.clipPathId);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, AreaSeriesComponent, TooltipArea, CircleSeriesComponent, Timeline, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n changeDetection: 0\n });\n return AreaChartStackedComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AreaChartModule = /*#__PURE__*/(() => {\n class AreaChartModule {}\n AreaChartModule.ɵfac = function AreaChartModule_Factory(t) {\n return new (t || AreaChartModule)();\n };\n AreaChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: AreaChartModule\n });\n AreaChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return AreaChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarComponent = /*#__PURE__*/(() => {\n class BarComponent {\n constructor(element) {\n this.roundEdges = true;\n this.gradient = false;\n this.offset = 0;\n this.isActive = false;\n this.animations = true;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.hasGradient = false;\n this.hideBar = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (changes.roundEdges) {\n this.loadAnimation();\n }\n this.update();\n }\n update() {\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient || this.stops) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n } else {\n this.hasGradient = false;\n }\n this.updatePathEl();\n this.checkToHideBar();\n }\n loadAnimation() {\n this.path = this.getStartingPath();\n setTimeout(this.update.bind(this), 100);\n }\n updatePathEl() {\n const node = select(this.element).select('.bar');\n const path = this.getPath();\n if (this.animations) {\n node.transition().duration(500).attr('d', path);\n } else {\n node.attr('d', path);\n }\n }\n getGradient() {\n if (this.stops) {\n return this.stops;\n }\n return [{\n offset: 0,\n color: this.fill,\n opacity: this.getStartOpacity()\n }, {\n offset: 100,\n color: this.fill,\n opacity: 1\n }];\n }\n getStartingPath() {\n if (!this.animations) {\n return this.getPath();\n }\n let radius = this.getRadius();\n let path;\n if (this.roundEdges) {\n if (this.orientation === BarOrientation.Vertical) {\n radius = Math.min(this.height, radius);\n path = roundedRect(this.x, this.y + this.height, this.width, 1, 0, this.edges);\n } else if (this.orientation === BarOrientation.Horizontal) {\n radius = Math.min(this.width, radius);\n path = roundedRect(this.x, this.y, 1, this.height, 0, this.edges);\n }\n } else {\n if (this.orientation === BarOrientation.Vertical) {\n path = roundedRect(this.x, this.y + this.height, this.width, 1, 0, this.edges);\n } else if (this.orientation === BarOrientation.Horizontal) {\n path = roundedRect(this.x, this.y, 1, this.height, 0, this.edges);\n }\n }\n return path;\n }\n getPath() {\n let radius = this.getRadius();\n let path;\n if (this.roundEdges) {\n if (this.orientation === BarOrientation.Vertical) {\n radius = Math.min(this.height, radius);\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n } else if (this.orientation === BarOrientation.Horizontal) {\n radius = Math.min(this.width, radius);\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n } else {\n path = roundedRect(this.x, this.y, this.width, this.height, radius, this.edges);\n }\n return path;\n }\n getRadius() {\n let radius = 0;\n if (this.roundEdges && this.height > 5 && this.width > 5) {\n radius = Math.floor(Math.min(5, this.height / 2, this.width / 2));\n }\n return radius;\n }\n getStartOpacity() {\n if (this.roundEdges) {\n return 0.2;\n } else {\n return 0.5;\n }\n }\n get edges() {\n let edges = [false, false, false, false];\n if (this.roundEdges) {\n if (this.orientation === BarOrientation.Vertical) {\n if (this.data.value > 0) {\n edges = [true, true, false, false];\n } else {\n edges = [false, false, true, true];\n }\n } else if (this.orientation === BarOrientation.Horizontal) {\n if (this.data.value > 0) {\n edges = [false, true, false, true];\n } else {\n edges = [true, false, true, false];\n }\n }\n }\n return edges;\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n checkToHideBar() {\n this.hideBar = this.noBarWhenZero && (this.orientation === BarOrientation.Vertical && this.height === 0 || this.orientation === BarOrientation.Horizontal && this.width === 0);\n }\n }\n BarComponent.ɵfac = function BarComponent_Factory(t) {\n return new (t || BarComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n BarComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarComponent,\n selectors: [[\"g\", \"ngx-charts-bar\", \"\"]],\n hostBindings: function BarComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseenter\", function BarComponent_mouseenter_HostBindingHandler() {\n return ctx.onMouseEnter();\n })(\"mouseleave\", function BarComponent_mouseleave_HostBindingHandler() {\n return ctx.onMouseLeave();\n });\n }\n },\n inputs: {\n fill: \"fill\",\n data: \"data\",\n width: \"width\",\n height: \"height\",\n x: \"x\",\n y: \"y\",\n orientation: \"orientation\",\n roundEdges: \"roundEdges\",\n gradient: \"gradient\",\n offset: \"offset\",\n isActive: \"isActive\",\n stops: \"stops\",\n animations: \"animations\",\n ariaLabel: \"ariaLabel\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c26,\n decls: 2,\n vars: 8,\n consts: [[4, \"ngIf\"], [\"stroke\", \"none\", \"role\", \"img\", \"tabIndex\", \"-1\", 1, \"bar\", 3, \"click\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"]],\n template: function BarComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, BarComponent__svg_defs_0_Template, 2, 3, \"defs\", 0);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"path\", 1);\n i0.ɵɵlistener(\"click\", function BarComponent_Template_path_click_1_listener() {\n return ctx.select.emit(ctx.data);\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"active\", ctx.isActive)(\"hidden\", ctx.hideBar);\n i0.ɵɵattribute(\"d\", ctx.path)(\"aria-label\", ctx.ariaLabel)(\"fill\", ctx.hasGradient ? ctx.gradientFill : ctx.fill);\n }\n },\n dependencies: [SvgLinearGradientComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return BarComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar BarChartType = /*#__PURE__*/function (BarChartType) {\n BarChartType[\"Standard\"] = \"standard\";\n BarChartType[\"Normalized\"] = \"normalized\";\n BarChartType[\"Stacked\"] = \"stacked\";\n return BarChartType;\n}(BarChartType || {});\nvar D0Types = /*#__PURE__*/function (D0Types) {\n D0Types[\"positive\"] = \"positive\";\n D0Types[\"negative\"] = \"negative\";\n return D0Types;\n}(D0Types || {});\nlet BarLabelComponent = /*#__PURE__*/(() => {\n class BarLabelComponent {\n constructor(element) {\n this.dimensionsChanged = new EventEmitter();\n this.horizontalPadding = 2;\n this.verticalPadding = 5;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n getSize() {\n const h = this.element.getBoundingClientRect().height;\n const w = this.element.getBoundingClientRect().width;\n return {\n height: h,\n width: w,\n negative: this.value < 0\n };\n }\n ngAfterViewInit() {\n this.dimensionsChanged.emit(this.getSize());\n }\n update() {\n if (this.valueFormatting) {\n this.formatedValue = this.valueFormatting(this.value);\n } else {\n this.formatedValue = formatLabel(this.value);\n }\n if (this.orientation === 'horizontal') {\n this.x = this.barX + this.barWidth;\n // if the value is negative then it's on the left of the x0.\n // we need to put the data label in front of the bar\n if (this.value < 0) {\n this.x = this.x - this.horizontalPadding;\n this.textAnchor = 'end';\n } else {\n this.x = this.x + this.horizontalPadding;\n this.textAnchor = 'start';\n }\n this.y = this.barY + this.barHeight / 2;\n } else {\n // orientation must be \"vertical\"\n this.x = this.barX + this.barWidth / 2;\n this.y = this.barY + this.barHeight;\n if (this.value < 0) {\n this.y = this.y + this.verticalPadding;\n this.textAnchor = 'end';\n } else {\n this.y = this.y - this.verticalPadding;\n this.textAnchor = 'start';\n }\n this.transform = `rotate(-45, ${this.x} , ${this.y})`;\n }\n }\n }\n BarLabelComponent.ɵfac = function BarLabelComponent_Factory(t) {\n return new (t || BarLabelComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n BarLabelComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarLabelComponent,\n selectors: [[\"g\", \"ngx-charts-bar-label\", \"\"]],\n inputs: {\n value: \"value\",\n valueFormatting: \"valueFormatting\",\n barX: \"barX\",\n barY: \"barY\",\n barWidth: \"barWidth\",\n barHeight: \"barHeight\",\n orientation: \"orientation\"\n },\n outputs: {\n dimensionsChanged: \"dimensionsChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c27,\n decls: 2,\n vars: 5,\n consts: [[\"alignment-baseline\", \"middle\", 1, \"textDataLabel\"]],\n template: function BarLabelComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"text\", 0);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"text-anchor\", ctx.textAnchor)(\"transform\", ctx.transform)(\"x\", ctx.x)(\"y\", ctx.y);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx.formatedValue, \" \");\n }\n },\n styles: [\".textDataLabel[_ngcontent-%COMP%]{font-size:11px}\"],\n changeDetection: 0\n });\n return BarLabelComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SeriesHorizontal = /*#__PURE__*/(() => {\n class SeriesHorizontal {\n constructor() {\n this.type = BarChartType.Standard;\n this.tooltipDisabled = false;\n this.animations = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dataLabelWidthChanged = new EventEmitter();\n this.barsForDataLabels = [];\n this.barOrientation = BarOrientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateTooltipSettings();\n const d0 = {\n [D0Types.positive]: 0,\n [D0Types.negative]: 0\n };\n let d0Type;\n d0Type = D0Types.positive;\n let total;\n if (this.type === BarChartType.Normalized) {\n total = this.series.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n const xScaleMin = Math.max(this.xScale.domain()[0], 0);\n this.bars = this.series.map(d => {\n let value = d.value;\n const label = this.getLabel(d);\n const formattedLabel = formatLabel(label);\n const roundEdges = this.roundEdges;\n d0Type = value > 0 ? D0Types.positive : D0Types.negative;\n const bar = {\n value,\n label,\n roundEdges,\n data: d,\n formattedLabel\n };\n bar.height = this.yScale.bandwidth();\n if (this.type === BarChartType.Standard) {\n bar.width = Math.abs(this.xScale(value) - this.xScale(xScaleMin));\n if (value < 0) {\n bar.x = this.xScale(value);\n } else {\n bar.x = this.xScale(xScaleMin);\n }\n bar.y = this.yScale(label);\n } else if (this.type === BarChartType.Stacked) {\n const offset0 = d0[d0Type];\n const offset1 = offset0 + value;\n d0[d0Type] += value;\n bar.width = this.xScale(offset1) - this.xScale(offset0);\n bar.x = this.xScale(offset0);\n bar.y = 0;\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n } else if (this.type === BarChartType.Normalized) {\n let offset0 = d0[d0Type];\n let offset1 = offset0 + value;\n d0[d0Type] += value;\n if (total > 0) {\n offset0 = offset0 * 100 / total;\n offset1 = offset1 * 100 / total;\n } else {\n offset0 = 0;\n offset1 = 0;\n }\n bar.width = this.xScale(offset1) - this.xScale(offset0);\n bar.x = this.xScale(offset0);\n bar.y = 0;\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n if (this.colors.scaleType === ScaleType.Ordinal) {\n bar.color = this.colors.getColor(label);\n } else {\n if (this.type === BarChartType.Standard) {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n } else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n let tooltipLabel = formattedLabel;\n bar.ariaLabel = formattedLabel + ' ' + value.toLocaleString();\n if (this.seriesName !== null && this.seriesName !== undefined) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n bar.data.series = this.seriesName;\n bar.ariaLabel = this.seriesName + ' ' + bar.ariaLabel;\n }\n bar.tooltipText = this.tooltipDisabled ? undefined : `\n ${escapeLabel(tooltipLabel)}\n ${this.dataLabelFormatting ? this.dataLabelFormatting(value) : value.toLocaleString()}\n `;\n return bar;\n });\n this.updateDataLabels();\n }\n updateDataLabels() {\n if (this.type === BarChartType.Stacked) {\n this.barsForDataLabels = [];\n const section = {};\n section.series = this.seriesName;\n const totalPositive = this.series.map(d => d.value).reduce((sum, d) => d > 0 ? sum + d : sum, 0);\n const totalNegative = this.series.map(d => d.value).reduce((sum, d) => d < 0 ? sum + d : sum, 0);\n section.total = totalPositive + totalNegative;\n section.x = 0;\n section.y = 0;\n // if total is positive then we show it on the right, otherwise on the left\n if (section.total > 0) {\n section.width = this.xScale(totalPositive);\n } else {\n section.width = this.xScale(totalNegative);\n }\n section.height = this.yScale.bandwidth();\n this.barsForDataLabels.push(section);\n } else {\n this.barsForDataLabels = this.series.map(d => {\n const section = {};\n section.series = this.seriesName ?? d.label;\n section.total = d.value;\n section.x = this.xScale(0);\n section.y = this.yScale(d.label);\n section.width = this.xScale(section.total) - this.xScale(0);\n section.height = this.yScale.bandwidth();\n return section;\n });\n }\n }\n updateTooltipSettings() {\n this.tooltipPlacement = this.tooltipDisabled ? undefined : PlacementTypes.Top;\n this.tooltipType = this.tooltipDisabled ? undefined : StyleTypes.tooltip;\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(active => {\n return entry.name === active.name && entry.value === active.value;\n });\n return item !== undefined;\n }\n getLabel(dataItem) {\n if (dataItem.label) {\n return dataItem.label;\n }\n return dataItem.name;\n }\n trackBy(index, bar) {\n return bar.label;\n }\n trackDataLabelBy(index, barLabel) {\n return index + '#' + barLabel.series + '#' + barLabel.total;\n }\n click(data) {\n this.select.emit(data);\n }\n }\n SeriesHorizontal.ɵfac = function SeriesHorizontal_Factory(t) {\n return new (t || SeriesHorizontal)();\n };\n SeriesHorizontal.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SeriesHorizontal,\n selectors: [[\"g\", \"ngx-charts-series-horizontal\", \"\"]],\n inputs: {\n dims: \"dims\",\n type: \"type\",\n series: \"series\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n colors: \"colors\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n activeEntries: \"activeEntries\",\n seriesName: \"seriesName\",\n tooltipTemplate: \"tooltipTemplate\",\n roundEdges: \"roundEdges\",\n animations: \"animations\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\",\n dataLabelWidthChanged: \"dataLabelWidthChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c28,\n decls: 2,\n vars: 3,\n consts: [[\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"isActive\", \"ariaLabel\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [4, \"ngIf\"], [\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"isActive\", \"ariaLabel\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\"], [\"ngx-charts-bar-label\", \"\", 3, \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\", \"dimensionsChanged\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-bar-label\", \"\", 3, \"dimensionsChanged\", \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\"]],\n template: function SeriesHorizontal_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SeriesHorizontal__svg_g_0_Template, 1, 21, \"g\", 0)(1, SeriesHorizontal__svg_g_1_Template, 2, 2, \"g\", 1);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.bars)(\"ngForTrackBy\", ctx.trackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showDataLabel);\n }\n },\n dependencies: [BarComponent, BarLabelComponent, i2.NgForOf, TooltipDirective, i2.NgIf],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1\n }), animate(500, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return SeriesHorizontal;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarHorizontalComponent = /*#__PURE__*/(() => {\n class BarHorizontalComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = {\n negative: 0,\n positive: 0\n };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = {\n negative: 0,\n positive: 0\n };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getXScale() {\n this.xDomain = this.getXDomain();\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.xDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getYScale() {\n this.yDomain = this.getYDomain();\n const spacing = this.yDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.yDomain);\n }\n getXDomain() {\n const values = this.results.map(d => d.value);\n const min = this.xScaleMin ? Math.min(this.xScaleMin, ...values) : Math.min(0, ...values);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...values) : Math.max(0, ...values);\n return [min, max];\n }\n getYDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.yDomain;\n } else {\n domain = this.xDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === 'ordinal') {\n opts.domain = this.yDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.xDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n } else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (event.index === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarHorizontalComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarHorizontalComponent_BaseFactory;\n return function BarHorizontalComponent_Factory(t) {\n return (ɵBarHorizontalComponent_BaseFactory || (ɵBarHorizontalComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarHorizontalComponent)))(t || BarHorizontalComponent);\n };\n })();\n BarHorizontalComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarHorizontalComponent,\n selectors: [[\"ngx-charts-bar-horizontal\"]],\n contentQueries: function BarHorizontalComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n roundEdges: \"roundEdges\",\n xScaleMax: \"xScaleMax\",\n xScaleMin: \"xScaleMin\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 5,\n vars: 25,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"dataLabelWidthChanged\", \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"activeEntries\", \"roundEdges\", \"animations\", \"showDataLabel\", \"dataLabelFormatting\", \"noBarWhenZero\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\"]],\n template: function BarHorizontalComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function BarHorizontalComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function BarHorizontalComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, true);\n })(\"legendLabelDeactivate\", function BarHorizontalComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, true);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, BarHorizontalComponent__svg_g_2_Template, 1, 10, \"g\", 2)(3, BarHorizontalComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementStart(4, \"g\", 4);\n i0.ɵɵlistener(\"select\", function BarHorizontalComponent_Template_g_select_4_listener($event) {\n return ctx.onClick($event);\n })(\"activate\", function BarHorizontalComponent_Template_g_activate_4_listener($event) {\n return ctx.onActivate($event);\n })(\"deactivate\", function BarHorizontalComponent_Template_g_deactivate_4_listener($event) {\n return ctx.onDeactivate($event);\n })(\"dataLabelWidthChanged\", function BarHorizontalComponent_Template_g_dataLabelWidthChanged_4_listener($event) {\n return ctx.onDataLabelMaxWidthChanged($event);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(22, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx.xScale)(\"yScale\", ctx.yScale)(\"colors\", ctx.colors)(\"series\", ctx.results)(\"dims\", ctx.dims)(\"gradient\", ctx.gradient)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"activeEntries\", ctx.activeEntries)(\"roundEdges\", ctx.roundEdges)(\"animations\", ctx.animations)(\"showDataLabel\", ctx.showDataLabel)(\"dataLabelFormatting\", ctx.dataLabelFormatting)(\"noBarWhenZero\", ctx.noBarWhenZero);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, SeriesHorizontal, i2.NgIf],\n styles: [_c25],\n encapsulation: 2,\n changeDetection: 0\n });\n return BarHorizontalComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarHorizontal2DComponent = /*#__PURE__*/(() => {\n class BarHorizontal2DComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.groupPadding = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = {\n negative: 0,\n positive: 0\n };\n this.isSSR = false;\n this.barOrientation = BarOrientation;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = {\n negative: 0,\n positive: 0\n };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.groupScale = this.getGroupScale();\n this.innerScale = this.getInnerScale();\n this.valueScale = this.getValueScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.groupPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).paddingOuter(spacing / 2).domain(this.groupDomain);\n }\n getInnerScale() {\n const height = this.groupScale.bandwidth();\n const spacing = this.innerDomain.length / (height / this.barPadding + 1);\n return scaleBand().rangeRound([0, height]).paddingInner(spacing).domain(this.innerDomain);\n }\n getValueScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const min = Math.min(0, ...domain);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...domain) : Math.max(0, ...domain);\n return [min, max];\n }\n groupTransform(group) {\n return `translate(0, ${this.groupScale(group.label)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n } else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n } else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarHorizontal2DComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarHorizontal2DComponent_BaseFactory;\n return function BarHorizontal2DComponent_Factory(t) {\n return (ɵBarHorizontal2DComponent_BaseFactory || (ɵBarHorizontal2DComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarHorizontal2DComponent)))(t || BarHorizontal2DComponent);\n };\n })();\n BarHorizontal2DComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarHorizontal2DComponent,\n selectors: [[\"ngx-charts-bar-horizontal-2d\"]],\n contentQueries: function BarHorizontal2DComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n groupPadding: \"groupPadding\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n roundEdges: \"roundEdges\",\n xScaleMax: \"xScaleMax\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 7,\n vars: 18,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-grid-panel-series\", \"\", 3, \"xScale\", \"yScale\", \"data\", \"dims\", \"orient\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"dataLabelWidthChanged\", \"xScale\", \"activeEntries\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"roundEdges\", \"animations\", \"showDataLabel\", \"dataLabelFormatting\", \"noBarWhenZero\"]],\n template: function BarHorizontal2DComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, undefined, true);\n })(\"legendLabelDeactivate\", function BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, undefined, true);\n })(\"legendLabelClick\", function BarHorizontal2DComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵelement(2, \"g\", 2);\n i0.ɵɵtemplate(3, BarHorizontal2DComponent__svg_g_3_Template, 1, 10, \"g\", 3)(4, BarHorizontal2DComponent__svg_g_4_Template, 1, 9, \"g\", 4)(5, BarHorizontal2DComponent__svg_g_5_Template, 2, 2, \"g\", 5)(6, BarHorizontal2DComponent__svg_g_6_Template, 2, 2, \"g\", 5);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(15, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx.valueScale)(\"yScale\", ctx.groupScale)(\"data\", ctx.results)(\"dims\", ctx.dims)(\"orient\", ctx.barOrientation.Horizontal);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, GridPanelSeriesComponent, XAxisComponent, YAxisComponent, SeriesHorizontal, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1,\n transform: '*'\n }), animate(500, style({\n opacity: 0,\n transform: 'scale(0)'\n }))])])]\n },\n changeDetection: 0\n });\n return BarHorizontal2DComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarHorizontalNormalizedComponent = /*#__PURE__*/(() => {\n class BarHorizontalNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.valueDomain = [0, 100];\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.barChartType = BarChartType;\n this.isSSR = false;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getYScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.groupDomain);\n }\n getXScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(0, ${this.yScale(group.name)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n } else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarHorizontalNormalizedComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarHorizontalNormalizedComponent_BaseFactory;\n return function BarHorizontalNormalizedComponent_Factory(t) {\n return (ɵBarHorizontalNormalizedComponent_BaseFactory || (ɵBarHorizontalNormalizedComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarHorizontalNormalizedComponent)))(t || BarHorizontalNormalizedComponent);\n };\n })();\n BarHorizontalNormalizedComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarHorizontalNormalizedComponent,\n selectors: [[\"ngx-charts-bar-horizontal-normalized\"]],\n contentQueries: function BarHorizontalNormalizedComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 13,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"type\", \"xScale\", \"yScale\", \"activeEntries\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"animations\", \"noBarWhenZero\"]],\n template: function BarHorizontalNormalizedComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, undefined, true);\n })(\"legendLabelDeactivate\", function BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, undefined, true);\n })(\"legendLabelClick\", function BarHorizontalNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, BarHorizontalNormalizedComponent__svg_g_2_Template, 1, 10, \"g\", 2)(3, BarHorizontalNormalizedComponent__svg_g_3_Template, 1, 8, \"g\", 3)(4, BarHorizontalNormalizedComponent__svg_g_4_Template, 2, 2, \"g\", 4)(5, BarHorizontalNormalizedComponent__svg_g_5_Template, 2, 2, \"g\", 4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, SeriesHorizontal, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1,\n transform: '*'\n }), animate(500, style({\n opacity: 0,\n transform: 'scale(0)'\n }))])])]\n },\n changeDetection: 0\n });\n return BarHorizontalNormalizedComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarHorizontalStackedComponent = /*#__PURE__*/(() => {\n class BarHorizontalStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxWidth = {\n negative: 0,\n positive: 0\n };\n this.barChartType = BarChartType;\n this.isSSR = false;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxWidth = {\n negative: 0,\n positive: 0\n };\n }\n this.margin = [10, 20 + this.dataLabelMaxWidth.positive, 10, 20 + this.dataLabelMaxWidth.negative];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n let smallest = 0;\n let biggest = 0;\n for (const group of this.results) {\n let smallestSum = 0;\n let biggestSum = 0;\n for (const d of group.series) {\n if (d.value < 0) {\n smallestSum += d.value;\n } else {\n biggestSum += d.value;\n }\n smallest = d.value < smallest ? d.value : smallest;\n biggest = d.value > biggest ? d.value : biggest;\n }\n domain.push(smallestSum);\n domain.push(biggestSum);\n }\n domain.push(smallest);\n domain.push(biggest);\n const min = Math.min(0, ...domain);\n const max = this.xScaleMax ? Math.max(this.xScaleMax, ...domain) : Math.max(...domain);\n return [min, max];\n }\n getYScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.height]).paddingInner(spacing).domain(this.groupDomain);\n }\n getXScale() {\n const scale = scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(0, ${this.yScale(group.name)})`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n } else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxWidthChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxWidth.negative = Math.max(this.dataLabelMaxWidth.negative, event.size.width);\n } else {\n this.dataLabelMaxWidth.positive = Math.max(this.dataLabelMaxWidth.positive, event.size.width);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarHorizontalStackedComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarHorizontalStackedComponent_BaseFactory;\n return function BarHorizontalStackedComponent_Factory(t) {\n return (ɵBarHorizontalStackedComponent_BaseFactory || (ɵBarHorizontalStackedComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarHorizontalStackedComponent)))(t || BarHorizontalStackedComponent);\n };\n })();\n BarHorizontalStackedComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarHorizontalStackedComponent,\n selectors: [[\"ngx-charts-bar-horizontal-stacked\"]],\n contentQueries: function BarHorizontalStackedComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n xScaleMax: \"xScaleMax\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 13,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"yAxisOffset\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-series-horizontal\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"dataLabelWidthChanged\", \"type\", \"xScale\", \"yScale\", \"colors\", \"series\", \"activeEntries\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"animations\", \"showDataLabel\", \"dataLabelFormatting\", \"noBarWhenZero\"]],\n template: function BarHorizontalStackedComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, undefined, true);\n })(\"legendLabelDeactivate\", function BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, undefined, true);\n })(\"legendLabelClick\", function BarHorizontalStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, BarHorizontalStackedComponent__svg_g_2_Template, 1, 10, \"g\", 2)(3, BarHorizontalStackedComponent__svg_g_3_Template, 1, 9, \"g\", 3)(4, BarHorizontalStackedComponent__svg_g_4_Template, 2, 2, \"g\", 4)(5, BarHorizontalStackedComponent__svg_g_5_Template, 2, 2, \"g\", 4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, SeriesHorizontal, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1,\n transform: '*'\n }), animate(500, style({\n opacity: 0,\n transform: 'scale(0)'\n }))])])]\n },\n changeDetection: 0\n });\n return BarHorizontalStackedComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SeriesVerticalComponent = /*#__PURE__*/(() => {\n class SeriesVerticalComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.type = BarChartType.Standard;\n this.tooltipDisabled = false;\n this.animations = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dataLabelHeightChanged = new EventEmitter();\n this.barsForDataLabels = [];\n this.barOrientation = BarOrientation;\n this.isSSR = false;\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateTooltipSettings();\n let width;\n if (this.series.length) {\n width = this.xScale.bandwidth();\n }\n width = Math.round(width);\n const yScaleMin = Math.max(this.yScale.domain()[0], 0);\n const d0 = {\n [D0Types.positive]: 0,\n [D0Types.negative]: 0\n };\n let d0Type = D0Types.positive;\n let total;\n if (this.type === BarChartType.Normalized) {\n total = this.series.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n this.bars = this.series.map((d, index) => {\n let value = d.value;\n const label = this.getLabel(d);\n const formattedLabel = formatLabel(label);\n const roundEdges = this.roundEdges;\n d0Type = value > 0 ? D0Types.positive : D0Types.negative;\n const bar = {\n value,\n label,\n roundEdges,\n data: d,\n width,\n formattedLabel,\n height: 0,\n x: 0,\n y: 0\n };\n if (this.type === BarChartType.Standard) {\n bar.height = Math.abs(this.yScale(value) - this.yScale(yScaleMin));\n bar.x = this.xScale(label);\n if (value < 0) {\n bar.y = this.yScale(0);\n } else {\n bar.y = this.yScale(value);\n }\n } else if (this.type === BarChartType.Stacked) {\n const offset0 = d0[d0Type];\n const offset1 = offset0 + value;\n d0[d0Type] += value;\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n } else if (this.type === BarChartType.Normalized) {\n let offset0 = d0[d0Type];\n let offset1 = offset0 + value;\n d0[d0Type] += value;\n if (total > 0) {\n offset0 = offset0 * 100 / total;\n offset1 = offset1 * 100 / total;\n } else {\n offset0 = 0;\n offset1 = 0;\n }\n bar.height = this.yScale(offset0) - this.yScale(offset1);\n bar.x = 0;\n bar.y = this.yScale(offset1);\n bar.offset0 = offset0;\n bar.offset1 = offset1;\n value = (offset1 - offset0).toFixed(2) + '%';\n }\n if (this.colors.scaleType === ScaleType.Ordinal) {\n bar.color = this.colors.getColor(label);\n } else {\n if (this.type === BarChartType.Standard) {\n bar.color = this.colors.getColor(value);\n bar.gradientStops = this.colors.getLinearGradientStops(value);\n } else {\n bar.color = this.colors.getColor(bar.offset1);\n bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n }\n }\n let tooltipLabel = formattedLabel;\n bar.ariaLabel = formattedLabel + ' ' + value.toLocaleString();\n if (this.seriesName !== null && this.seriesName !== undefined) {\n tooltipLabel = `${this.seriesName} • ${formattedLabel}`;\n bar.data.series = this.seriesName;\n bar.ariaLabel = this.seriesName + ' ' + bar.ariaLabel;\n }\n bar.tooltipText = this.tooltipDisabled ? undefined : `\n ${escapeLabel(tooltipLabel)}\n ${this.dataLabelFormatting ? this.dataLabelFormatting(value) : value.toLocaleString()}\n `;\n return bar;\n });\n this.updateDataLabels();\n }\n updateDataLabels() {\n if (this.type === BarChartType.Stacked) {\n this.barsForDataLabels = [];\n const section = {};\n section.series = this.seriesName;\n const totalPositive = this.series.map(d => d.value).reduce((sum, d) => d > 0 ? sum + d : sum, 0);\n const totalNegative = this.series.map(d => d.value).reduce((sum, d) => d < 0 ? sum + d : sum, 0);\n section.total = totalPositive + totalNegative;\n section.x = 0;\n section.y = 0;\n if (section.total > 0) {\n section.height = this.yScale(totalPositive);\n } else {\n section.height = this.yScale(totalNegative);\n }\n section.width = this.xScale.bandwidth();\n this.barsForDataLabels.push(section);\n } else {\n this.barsForDataLabels = this.series.map(d => {\n const section = {};\n section.series = this.seriesName ?? d.label;\n section.total = d.value;\n section.x = this.xScale(d.label);\n section.y = this.yScale(0);\n section.height = this.yScale(section.total) - this.yScale(0);\n section.width = this.xScale.bandwidth();\n return section;\n });\n }\n }\n updateTooltipSettings() {\n this.tooltipPlacement = this.tooltipDisabled ? undefined : PlacementTypes.Top;\n this.tooltipType = this.tooltipDisabled ? undefined : StyleTypes.tooltip;\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(active => {\n return entry.name === active.name && entry.value === active.value;\n });\n return item !== undefined;\n }\n onClick(data) {\n this.select.emit(data);\n }\n getLabel(dataItem) {\n if (dataItem.label) {\n return dataItem.label;\n }\n return dataItem.name;\n }\n trackBy(index, bar) {\n return bar.label;\n }\n trackDataLabelBy(index, barLabel) {\n return index + '#' + barLabel.series + '#' + barLabel.total;\n }\n }\n SeriesVerticalComponent.ɵfac = function SeriesVerticalComponent_Factory(t) {\n return new (t || SeriesVerticalComponent)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n SeriesVerticalComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SeriesVerticalComponent,\n selectors: [[\"g\", \"ngx-charts-series-vertical\", \"\"]],\n inputs: {\n dims: \"dims\",\n type: \"type\",\n series: \"series\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n colors: \"colors\",\n gradient: \"gradient\",\n activeEntries: \"activeEntries\",\n seriesName: \"seriesName\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\",\n roundEdges: \"roundEdges\",\n animations: \"animations\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\",\n dataLabelHeightChanged: \"dataLabelHeightChanged\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c29,\n decls: 3,\n vars: 3,\n consts: [[4, \"ngIf\"], [\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"ariaLabel\", \"isActive\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"animations\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-bar\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"width\", \"height\", \"x\", \"y\", \"fill\", \"stops\", \"data\", \"orientation\", \"roundEdges\", \"gradient\", \"ariaLabel\", \"isActive\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"noBarWhenZero\", \"animations\"], [\"ngx-charts-bar-label\", \"\", 3, \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\", \"dimensionsChanged\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-bar-label\", \"\", 3, \"dimensionsChanged\", \"barX\", \"barY\", \"barWidth\", \"barHeight\", \"value\", \"valueFormatting\", \"orientation\"]],\n template: function SeriesVerticalComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, SeriesVerticalComponent__svg_g_0_Template, 2, 2, \"g\", 0)(1, SeriesVerticalComponent__svg_g_1_Template, 2, 2, \"g\", 0)(2, SeriesVerticalComponent__svg_g_2_Template, 2, 2, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showDataLabel);\n }\n },\n dependencies: [BarComponent, BarLabelComponent, i2.NgIf, i2.NgForOf, TooltipDirective],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1\n }), animate(500, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return SeriesVerticalComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarVerticalComponent = /*#__PURE__*/(() => {\n class BarVerticalComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = {\n negative: 0,\n positive: 0\n };\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = {\n negative: 0,\n positive: 0\n };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n getXScale() {\n this.xDomain = this.getXDomain();\n const spacing = this.xDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().range([0, this.dims.width]).paddingInner(spacing).domain(this.xDomain);\n }\n getYScale() {\n this.yDomain = this.getYDomain();\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.yDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getXDomain() {\n return this.results.map(d => d.label);\n }\n getYDomain() {\n const values = this.results.map(d => d.value);\n let min = this.yScaleMin ? Math.min(this.yScaleMin, ...values) : Math.min(0, ...values);\n if (this.yAxisTicks && !this.yAxisTicks.some(isNaN)) {\n min = Math.min(min, ...this.yAxisTicks);\n }\n let max = this.yScaleMax ? Math.max(this.yScaleMax, ...values) : Math.max(0, ...values);\n if (this.yAxisTicks && !this.yAxisTicks.some(isNaN)) {\n max = Math.max(max, ...this.yAxisTicks);\n }\n return [min, max];\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.xDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.xDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onDataLabelMaxHeightChanged(event) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n } else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (event.index === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarVerticalComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarVerticalComponent_BaseFactory;\n return function BarVerticalComponent_Factory(t) {\n return (ɵBarVerticalComponent_BaseFactory || (ɵBarVerticalComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarVerticalComponent)))(t || BarVerticalComponent);\n };\n })();\n BarVerticalComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarVerticalComponent,\n selectors: [[\"ngx-charts-bar-vertical\"]],\n contentQueries: function BarVerticalComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n roundEdges: \"roundEdges\",\n yScaleMax: \"yScaleMax\",\n yScaleMin: \"yScaleMin\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 5,\n vars: 25,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-series-vertical\", \"\", 3, \"activate\", \"deactivate\", \"select\", \"dataLabelHeightChanged\", \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"activeEntries\", \"roundEdges\", \"animations\", \"noBarWhenZero\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"]],\n template: function BarVerticalComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function BarVerticalComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function BarVerticalComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, true);\n })(\"legendLabelDeactivate\", function BarVerticalComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, true);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, BarVerticalComponent__svg_g_2_Template, 1, 11, \"g\", 2)(3, BarVerticalComponent__svg_g_3_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementStart(4, \"g\", 4);\n i0.ɵɵlistener(\"activate\", function BarVerticalComponent_Template_g_activate_4_listener($event) {\n return ctx.onActivate($event);\n })(\"deactivate\", function BarVerticalComponent_Template_g_deactivate_4_listener($event) {\n return ctx.onDeactivate($event);\n })(\"select\", function BarVerticalComponent_Template_g_select_4_listener($event) {\n return ctx.onClick($event);\n })(\"dataLabelHeightChanged\", function BarVerticalComponent_Template_g_dataLabelHeightChanged_4_listener($event) {\n return ctx.onDataLabelMaxHeightChanged($event);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(22, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx.xScale)(\"yScale\", ctx.yScale)(\"colors\", ctx.colors)(\"series\", ctx.results)(\"dims\", ctx.dims)(\"gradient\", ctx.gradient)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"showDataLabel\", ctx.showDataLabel)(\"dataLabelFormatting\", ctx.dataLabelFormatting)(\"activeEntries\", ctx.activeEntries)(\"roundEdges\", ctx.roundEdges)(\"animations\", ctx.animations)(\"noBarWhenZero\", ctx.noBarWhenZero);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, SeriesVerticalComponent, i2.NgIf],\n styles: [_c25],\n encapsulation: 2,\n changeDetection: 0\n });\n return BarVerticalComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarVertical2DComponent = /*#__PURE__*/(() => {\n class BarVertical2DComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.scaleType = ScaleType.Ordinal;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.groupPadding = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.roundEdges = true;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = {\n negative: 0,\n positive: 0\n };\n this.isSSR = false;\n this.barOrientation = BarOrientation;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = {\n negative: 0,\n positive: 0\n };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.groupScale = this.getGroupScale();\n this.innerScale = this.getInnerScale();\n this.valueScale = this.getValueScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n onDataLabelMaxHeightChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n } else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n getGroupScale() {\n const spacing = this.groupDomain.length / (this.dims.height / this.groupPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).paddingOuter(spacing / 2).domain(this.groupDomain);\n }\n getInnerScale() {\n const width = this.groupScale.bandwidth();\n const spacing = this.innerDomain.length / (width / this.barPadding + 1);\n return scaleBand().rangeRound([0, width]).paddingInner(spacing).domain(this.innerDomain);\n }\n getValueScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n const min = Math.min(0, ...domain);\n const max = this.yScaleMax ? Math.max(this.yScaleMax, ...domain) : Math.max(0, ...domain);\n return [min, max];\n }\n groupTransform(group) {\n return `translate(${this.groupScale(group.label)}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n } else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarVertical2DComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarVertical2DComponent_BaseFactory;\n return function BarVertical2DComponent_Factory(t) {\n return (ɵBarVertical2DComponent_BaseFactory || (ɵBarVertical2DComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarVertical2DComponent)))(t || BarVertical2DComponent);\n };\n })();\n BarVertical2DComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarVertical2DComponent,\n selectors: [[\"ngx-charts-bar-vertical-2d\"]],\n contentQueries: function BarVertical2DComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n scaleType: \"scaleType\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n groupPadding: \"groupPadding\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n roundEdges: \"roundEdges\",\n yScaleMax: \"yScaleMax\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 7,\n vars: 18,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-grid-panel-series\", \"\", 3, \"xScale\", \"yScale\", \"data\", \"dims\", \"orient\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-series-vertical\", \"\", 3, \"activeEntries\", \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"seriesName\", \"roundEdges\", \"animations\", \"noBarWhenZero\", \"select\", \"activate\", \"deactivate\", \"dataLabelHeightChanged\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-series-vertical\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"dataLabelHeightChanged\", \"activeEntries\", \"xScale\", \"yScale\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"seriesName\", \"roundEdges\", \"animations\", \"noBarWhenZero\"]],\n template: function BarVertical2DComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function BarVertical2DComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, undefined, true);\n })(\"legendLabelDeactivate\", function BarVertical2DComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, undefined, true);\n })(\"legendLabelClick\", function BarVertical2DComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵelement(2, \"g\", 2);\n i0.ɵɵtemplate(3, BarVertical2DComponent__svg_g_3_Template, 1, 10, \"g\", 3)(4, BarVertical2DComponent__svg_g_4_Template, 1, 9, \"g\", 4)(5, BarVertical2DComponent__svg_g_5_Template, 2, 2, \"g\", 5);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, BarVertical2DComponent__svg_g_6_Template, 2, 2, \"g\", 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(15, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx.groupScale)(\"yScale\", ctx.valueScale)(\"data\", ctx.results)(\"dims\", ctx.dims)(\"orient\", ctx.barOrientation.Vertical);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, GridPanelSeriesComponent, XAxisComponent, YAxisComponent, SeriesVerticalComponent, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1,\n transform: '*'\n }), animate(500, style({\n opacity: 0,\n transform: 'scale(0)'\n }))])])]\n },\n changeDetection: 0\n });\n return BarVertical2DComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarVerticalNormalizedComponent = /*#__PURE__*/(() => {\n class BarVerticalNormalizedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.valueDomain = [0, 100];\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.isSSR = false;\n this.barChartType = BarChartType;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getXScale() {\n const spacing = this.groupDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).domain(this.groupDomain);\n }\n getYScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n groupTransform(group) {\n return `translate(${this.xScale(group.name)}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n } else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarVerticalNormalizedComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarVerticalNormalizedComponent_BaseFactory;\n return function BarVerticalNormalizedComponent_Factory(t) {\n return (ɵBarVerticalNormalizedComponent_BaseFactory || (ɵBarVerticalNormalizedComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarVerticalNormalizedComponent)))(t || BarVerticalNormalizedComponent);\n };\n })();\n BarVerticalNormalizedComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarVerticalNormalizedComponent,\n selectors: [[\"ngx-charts-bar-vertical-normalized\"]],\n contentQueries: function BarVerticalNormalizedComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 13,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-series-vertical\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"type\", \"xScale\", \"yScale\", \"activeEntries\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"seriesName\", \"animations\", \"noBarWhenZero\"]],\n template: function BarVerticalNormalizedComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, undefined, true);\n })(\"legendLabelDeactivate\", function BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, undefined, true);\n })(\"legendLabelClick\", function BarVerticalNormalizedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, BarVerticalNormalizedComponent__svg_g_2_Template, 1, 9, \"g\", 2)(3, BarVerticalNormalizedComponent__svg_g_3_Template, 1, 9, \"g\", 3)(4, BarVerticalNormalizedComponent__svg_g_4_Template, 2, 2, \"g\", 4)(5, BarVerticalNormalizedComponent__svg_g_5_Template, 2, 2, \"g\", 4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, SeriesVerticalComponent, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1,\n transform: '*'\n }), animate(500, style({\n opacity: 0,\n transform: 'scale(0)'\n }))])])]\n },\n changeDetection: 0\n });\n return BarVerticalNormalizedComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarVerticalStackedComponent = /*#__PURE__*/(() => {\n class BarVerticalStackedComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.tooltipDisabled = false;\n this.showGridLines = true;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.barPadding = 8;\n this.roundDomains = false;\n this.showDataLabel = false;\n this.noBarWhenZero = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.dataLabelMaxHeight = {\n negative: 0,\n positive: 0\n };\n this.isSSR = false;\n this.barChartType = BarChartType;\n this.trackBy = (index, item) => {\n return item.name;\n };\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n if (!this.showDataLabel) {\n this.dataLabelMaxHeight = {\n negative: 0,\n positive: 0\n };\n }\n this.margin = [10 + this.dataLabelMaxHeight.positive, 20, 10 + this.dataLabelMaxHeight.negative, 20];\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.showDataLabel) {\n this.dims.height -= this.dataLabelMaxHeight.negative;\n }\n this.formatDates();\n this.groupDomain = this.getGroupDomain();\n this.innerDomain = this.getInnerDomain();\n this.valueDomain = this.getValueDomain();\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0] + this.dataLabelMaxHeight.negative})`;\n }\n getGroupDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.label)) {\n domain.push(group.label);\n }\n }\n return domain;\n }\n getInnerDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.label)) {\n domain.push(d.label);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n let smallest = 0;\n let biggest = 0;\n for (const group of this.results) {\n let smallestSum = 0;\n let biggestSum = 0;\n for (const d of group.series) {\n if (d.value < 0) {\n smallestSum += d.value;\n } else {\n biggestSum += d.value;\n }\n smallest = d.value < smallest ? d.value : smallest;\n biggest = d.value > biggest ? d.value : biggest;\n }\n domain.push(smallestSum);\n domain.push(biggestSum);\n }\n domain.push(smallest);\n domain.push(biggest);\n const min = Math.min(0, ...domain);\n const max = this.yScaleMax ? Math.max(this.yScaleMax, ...domain) : Math.max(...domain);\n return [min, max];\n }\n getXScale() {\n const spacing = this.groupDomain.length / (this.dims.width / this.barPadding + 1);\n return scaleBand().rangeRound([0, this.dims.width]).paddingInner(spacing).domain(this.groupDomain);\n }\n getYScale() {\n const scale = scaleLinear().range([this.dims.height, 0]).domain(this.valueDomain);\n return this.roundDomains ? scale.nice() : scale;\n }\n onDataLabelMaxHeightChanged(event, groupIndex) {\n if (event.size.negative) {\n this.dataLabelMaxHeight.negative = Math.max(this.dataLabelMaxHeight.negative, event.size.height);\n } else {\n this.dataLabelMaxHeight.positive = Math.max(this.dataLabelMaxHeight.positive, event.size.height);\n }\n if (groupIndex === this.results.length - 1) {\n setTimeout(() => this.update());\n }\n }\n groupTransform(group) {\n return `translate(${this.xScale(group.name) || 0}, 0)`;\n }\n onClick(data, group) {\n if (group) {\n data.series = group.name;\n }\n this.select.emit(data);\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.innerDomain;\n } else {\n domain = this.valueDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.innerDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.valueDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n BarVerticalStackedComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBarVerticalStackedComponent_BaseFactory;\n return function BarVerticalStackedComponent_Factory(t) {\n return (ɵBarVerticalStackedComponent_BaseFactory || (ɵBarVerticalStackedComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BarVerticalStackedComponent)))(t || BarVerticalStackedComponent);\n };\n })();\n BarVerticalStackedComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BarVerticalStackedComponent,\n selectors: [[\"ngx-charts-bar-vertical-stacked\"]],\n contentQueries: function BarVerticalStackedComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n barPadding: \"barPadding\",\n roundDomains: \"roundDomains\",\n yScaleMax: \"yScaleMax\",\n showDataLabel: \"showDataLabel\",\n dataLabelFormatting: \"dataLabelFormatting\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 13,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"bar-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"xAxisOffset\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-series-vertical\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"dataLabelHeightChanged\", \"type\", \"xScale\", \"yScale\", \"activeEntries\", \"colors\", \"series\", \"dims\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"showDataLabel\", \"dataLabelFormatting\", \"seriesName\", \"animations\", \"noBarWhenZero\"]],\n template: function BarVerticalStackedComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, undefined, true);\n })(\"legendLabelDeactivate\", function BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, undefined, true);\n })(\"legendLabelClick\", function BarVerticalStackedComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, BarVerticalStackedComponent__svg_g_2_Template, 1, 10, \"g\", 2)(3, BarVerticalStackedComponent__svg_g_3_Template, 1, 9, \"g\", 3)(4, BarVerticalStackedComponent__svg_g_4_Template, 2, 2, \"g\", 4);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(5, BarVerticalStackedComponent__svg_g_5_Template, 2, 2, \"g\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, SeriesVerticalComponent, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1,\n transform: '*'\n }), animate(500, style({\n opacity: 0,\n transform: 'scale(0)'\n }))])])]\n },\n changeDetection: 0\n });\n return BarVerticalStackedComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BarChartModule = /*#__PURE__*/(() => {\n class BarChartModule {}\n BarChartModule.ɵfac = function BarChartModule_Factory(t) {\n return new (t || BarChartModule)();\n };\n BarChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BarChartModule\n });\n BarChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return BarChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BoxComponent = /*#__PURE__*/(() => {\n class BoxComponent {\n constructor(element, cd) {\n this.cd = cd;\n this.roundEdges = true;\n this.gradient = false;\n this.offset = 0;\n this.isActive = false;\n this.animations = true;\n this.noBarWhenZero = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.BarOrientation = BarOrientation;\n this.initialized = false;\n this.hasGradient = false;\n this.hideBar = false;\n this.nativeElm = element.nativeElement;\n }\n ngOnChanges(changes) {\n if (!this.initialized) {\n this.loadAnimation();\n this.initialized = true;\n } else {\n this.update();\n }\n }\n update() {\n this.boxStrokeWidth = Math.max(this.strokeWidth, 1);\n this.whiskerStrokeWidth = Math.max(this.strokeWidth / 2, 1);\n this.medianLineWidth = 1.5 * this.strokeWidth;\n this.gradientId = 'grad' + id().toString();\n this.gradientFill = `url(#${this.gradientId})`;\n if (this.gradient) {\n this.gradientStops = this.getGradient();\n this.hasGradient = true;\n } else {\n this.hasGradient = false;\n }\n this.updateLineEl();\n this.updatePathEl();\n this.checkToHideBar();\n this.maskLineId = 'mask' + id().toString();\n this.maskLine = `url(#${this.maskLineId})`;\n if (this.cd) {\n this.cd.markForCheck();\n }\n }\n loadAnimation() {\n this.boxPath = this.oldPath = this.getStartingPath();\n this.oldLineCoordinates = this.getStartingLineCoordinates();\n setTimeout(this.update.bind(this), 100);\n }\n updatePathEl() {\n const nodeBar = select(this.nativeElm).selectAll('.bar');\n const path = this.getPath();\n if (this.animations) {\n nodeBar.attr('d', this.oldPath).transition().ease(easeSinInOut).duration(500).attrTween('d', this.pathTween(path, 4));\n } else {\n nodeBar.attr('d', path);\n }\n this.oldPath = path;\n }\n updateLineEl() {\n const lineEl = select(this.nativeElm).selectAll('.bar-line');\n const lineCoordinates = this.lineCoordinates;\n const oldLineCoordinates = this.oldLineCoordinates;\n if (this.animations) {\n lineEl.attr('x1', (_, index) => oldLineCoordinates[index].v1.x).attr('y1', (_, index) => oldLineCoordinates[index].v1.y).attr('x2', (_, index) => oldLineCoordinates[index].v2.x).attr('y2', (_, index) => oldLineCoordinates[index].v2.y).transition().ease(easeSinInOut).duration(500).attr('x1', (_, index) => lineCoordinates[index].v1.x).attr('y1', (_, index) => lineCoordinates[index].v1.y).attr('x2', (_, index) => lineCoordinates[index].v2.x).attr('y2', (_, index) => lineCoordinates[index].v2.y);\n } else {\n lineEl.attr('x1', (_, index) => lineCoordinates[index].v1.x).attr('y1', (_, index) => lineCoordinates[index].v1.y).attr('x2', (_, index) => lineCoordinates[index].v2.x).attr('y2', (_, index) => lineCoordinates[index].v2.y);\n }\n this.oldLineCoordinates = [...lineCoordinates];\n }\n /**\n * See [D3 Selections](https://www.d3indepth.com/selections/)\n * @param d The joined data.\n * @param index The index of the element within the selection\n * @param node The node element (Line).\n */\n lineTween(attr, d, index, node) {\n const nodeLineEl = node[index];\n return nodeLineEl[attr].baseVal.value;\n }\n // TODO: Refactor into another .ts file if https://github.com/swimlane/ngx-charts/pull/1179 gets merged.\n pathTween(d1, precision) {\n return function () {\n // tslint:disable-next-line: no-this-assignment\n const path0 = this;\n const path1 = this.cloneNode();\n path1.setAttribute('d', d1);\n const n0 = path0?.getTotalLength();\n const n1 = path1?.getTotalLength();\n // Uniform sampling of distance based on specified precision.\n const distances = [0];\n let i = 0;\n const dt = precision / Math.max(n0, n1);\n while (i < 1) {\n distances.push(i);\n i += dt;\n }\n distances.push(1);\n // Compute point-interpolators at each distance.\n const points = distances.map(t => {\n const p0 = path0.getPointAtLength(t * n0);\n const p1 = path1.getPointAtLength(t * n1);\n return interpolate([p0.x, p0.y], [p1.x, p1.y]);\n });\n // 't': T is the fraction of time (between 0 and 1) since the transition began.\n return t => {\n return t < 1 ? 'M' + points.map(p => p(t)).join('L') : d1;\n };\n };\n }\n getStartingPath() {\n if (!this.animations) {\n return this.getPath();\n }\n const radius = this.roundEdges ? 1 : 0;\n const {\n x,\n y\n } = this.lineCoordinates[2].v1;\n return roundedRect(x - this.width, y - 1, this.width, 2, radius, this.edges);\n }\n getPath() {\n const radius = this.getRadius();\n let path = '';\n path = roundedRect(this.x, this.y, this.width, this.height, Math.min(this.height, radius), this.edges);\n return path;\n }\n getStartingLineCoordinates() {\n if (!this.animations) {\n return [...this.lineCoordinates];\n }\n const lineCoordinates = cloneDeep(this.lineCoordinates);\n lineCoordinates[1].v1.y = lineCoordinates[1].v2.y = lineCoordinates[3].v1.y = lineCoordinates[3].v2.y = lineCoordinates[0].v1.y = lineCoordinates[0].v2.y = lineCoordinates[2].v1.y;\n return lineCoordinates;\n }\n getRadius() {\n let radius = 0;\n if (this.roundEdges && this.height > 5 && this.width > 5) {\n radius = Math.floor(Math.min(5, this.height / 2, this.width / 2));\n }\n return radius;\n }\n getGradient() {\n return [{\n offset: 0,\n color: this.fill,\n opacity: this.getStartOpacity()\n }, {\n offset: 100,\n color: this.fill,\n opacity: 1\n }];\n }\n getStartOpacity() {\n if (this.roundEdges) {\n return 0.2;\n } else {\n return 0.5;\n }\n }\n get edges() {\n let edges = [false, false, false, false];\n if (this.roundEdges) {\n edges = [true, true, true, true];\n }\n return edges;\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n checkToHideBar() {\n this.hideBar = this.noBarWhenZero && this.height === 0;\n }\n }\n BoxComponent.ɵfac = function BoxComponent_Factory(t) {\n return new (t || BoxComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n BoxComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BoxComponent,\n selectors: [[\"g\", \"ngx-charts-box\", \"\"]],\n hostBindings: function BoxComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseenter\", function BoxComponent_mouseenter_HostBindingHandler() {\n return ctx.onMouseEnter();\n })(\"mouseleave\", function BoxComponent_mouseleave_HostBindingHandler() {\n return ctx.onMouseLeave();\n });\n }\n },\n inputs: {\n strokeColor: \"strokeColor\",\n strokeWidth: \"strokeWidth\",\n fill: \"fill\",\n data: \"data\",\n width: \"width\",\n height: \"height\",\n x: \"x\",\n y: \"y\",\n lineCoordinates: \"lineCoordinates\",\n roundEdges: \"roundEdges\",\n gradient: \"gradient\",\n gradientStops: \"gradientStops\",\n offset: \"offset\",\n isActive: \"isActive\",\n animations: \"animations\",\n ariaLabel: \"ariaLabel\",\n noBarWhenZero: \"noBarWhenZero\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c30,\n decls: 9,\n vars: 13,\n consts: [[\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\", 4, \"ngIf\"], [\"height\", \"100%\", \"width\", \"100%\", \"fill\", \"white\", \"fill-opacity\", \"1\"], [\"fill\", \"black\", \"fill-opacity\", \"1\", 1, \"bar\"], [\"role\", \"img\", \"tabIndex\", \"-1\", 1, \"bar\", 3, \"click\"], [\"class\", \"bar-line\", \"fill\", \"none\", 3, \"hidden\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [\"fill\", \"none\", 1, \"bar-line\"]],\n template: function BoxComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"defs\");\n i0.ɵɵtemplate(1, BoxComponent__svg_g_1_Template, 1, 3, \"g\", 0);\n i0.ɵɵelementStart(2, \"mask\")(3, \"g\");\n i0.ɵɵelement(4, \"rect\", 1)(5, \"path\", 2);\n i0.ɵɵelementEnd()()();\n i0.ɵɵelementStart(6, \"g\")(7, \"path\", 3);\n i0.ɵɵlistener(\"click\", function BoxComponent_Template_path_click_7_listener() {\n return ctx.select.emit(ctx.data);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(8, BoxComponent__svg_line_8_Template, 1, 9, \"line\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"id\", ctx.maskLineId);\n i0.ɵɵadvance(3);\n i0.ɵɵattribute(\"d\", ctx.boxPath);\n i0.ɵɵadvance(2);\n i0.ɵɵclassProp(\"active\", ctx.isActive)(\"hidden\", ctx.hideBar);\n i0.ɵɵattribute(\"d\", ctx.boxPath)(\"stroke\", ctx.strokeColor)(\"stroke-width\", ctx.boxStrokeWidth)(\"aria-label\", ctx.ariaLabel)(\"fill\", ctx.hasGradient ? ctx.gradientFill : ctx.fill);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.lineCoordinates);\n }\n },\n dependencies: [SvgLinearGradientComponent, i2.NgIf, i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return BoxComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BoxSeriesComponent = /*#__PURE__*/(() => {\n class BoxSeriesComponent {\n constructor() {\n this.animations = true;\n this.tooltipDisabled = false;\n this.gradient = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n onClick(data) {\n this.select.emit(data);\n }\n update() {\n this.updateTooltipSettings();\n const width = this.series && this.series.series.length ? Math.round(this.xScale.bandwidth()) : null;\n const seriesName = this.series.name;\n // Calculate Quantile and Whiskers for each box serie.\n this.counts = this.series.series;\n const mappedCounts = this.counts.map(serie => Number(serie.value));\n this.whiskers = [min(mappedCounts), max(mappedCounts)];\n // We get the group count and must sort it in order to retrieve quantiles.\n const groupCounts = this.counts.map(item => item.value).sort((a, b) => Number(a) - Number(b));\n this.quartiles = this.getBoxQuantiles(groupCounts);\n this.lineCoordinates = this.getLinesCoordinates(seriesName.toString(), this.whiskers, this.quartiles, width);\n const value = this.quartiles[1];\n const formattedLabel = formatLabel(seriesName);\n const box = {\n value,\n data: this.counts,\n label: seriesName,\n formattedLabel,\n width,\n height: 0,\n x: 0,\n y: 0,\n roundEdges: this.roundEdges,\n quartiles: this.quartiles,\n lineCoordinates: this.lineCoordinates\n };\n box.height = Math.abs(this.yScale(this.quartiles[0]) - this.yScale(this.quartiles[2]));\n box.x = this.xScale(seriesName.toString());\n box.y = this.yScale(this.quartiles[2]);\n box.ariaLabel = formattedLabel + ' - Median: ' + value.toLocaleString();\n if (this.colors.scaleType === ScaleType.Ordinal) {\n box.color = this.colors.getColor(seriesName);\n } else {\n box.color = this.colors.getColor(this.quartiles[1]);\n box.gradientStops = this.colors.getLinearGradientStops(this.quartiles[0], this.quartiles[2]);\n }\n const tooltipLabel = formattedLabel;\n const formattedTooltipLabel = `\n ${escapeLabel(tooltipLabel)}\n \n • Q1: ${this.quartiles[0]} • Q2: ${this.quartiles[1]} • Q3: ${this.quartiles[2]}
\n • Min: ${this.whiskers[0]} • Max: ${this.whiskers[1]}\n
`;\n box.tooltipText = this.tooltipDisabled ? undefined : formattedTooltipLabel;\n this.tooltipTitle = this.tooltipDisabled ? undefined : box.tooltipText;\n this.box = box;\n }\n getBoxQuantiles(inputData) {\n return [quantile(inputData, 0.25), quantile(inputData, 0.5), quantile(inputData, 0.75)];\n }\n getLinesCoordinates(seriesName, whiskers, quartiles, barWidth) {\n // The X value is not being centered, so had to sum half the width to align it.\n const commonX = this.xScale(seriesName);\n const offsetX = commonX + barWidth / 2;\n const medianLineWidth = Math.max(barWidth + 4 * this.strokeWidth, 1);\n const whiskerLineWidth = Math.max(barWidth / 3, 1);\n const whiskerZero = this.yScale(whiskers[0]);\n const whiskerOne = this.yScale(whiskers[1]);\n const median = this.yScale(quartiles[1]);\n const topLine = {\n v1: {\n x: offsetX + whiskerLineWidth / 2,\n y: whiskerZero\n },\n v2: {\n x: offsetX - whiskerLineWidth / 2,\n y: whiskerZero\n }\n };\n const medianLine = {\n v1: {\n x: offsetX + medianLineWidth / 2,\n y: median\n },\n v2: {\n x: offsetX - medianLineWidth / 2,\n y: median\n }\n };\n const bottomLine = {\n v1: {\n x: offsetX + whiskerLineWidth / 2,\n y: whiskerOne\n },\n v2: {\n x: offsetX - whiskerLineWidth / 2,\n y: whiskerOne\n }\n };\n const verticalLine = {\n v1: {\n x: offsetX,\n y: whiskerZero\n },\n v2: {\n x: offsetX,\n y: whiskerOne\n }\n };\n return [verticalLine, topLine, medianLine, bottomLine];\n }\n updateTooltipSettings() {\n if (this.tooltipDisabled) {\n this.tooltipPlacement = undefined;\n this.tooltipType = undefined;\n } else {\n if (!this.tooltipPlacement) {\n this.tooltipPlacement = PlacementTypes.Top;\n }\n if (!this.tooltipType) {\n this.tooltipType = StyleTypes.tooltip;\n }\n }\n }\n }\n BoxSeriesComponent.ɵfac = function BoxSeriesComponent_Factory(t) {\n return new (t || BoxSeriesComponent)();\n };\n BoxSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BoxSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-box-series\", \"\"]],\n inputs: {\n dims: \"dims\",\n series: \"series\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n colors: \"colors\",\n animations: \"animations\",\n strokeColor: \"strokeColor\",\n strokeWidth: \"strokeWidth\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\",\n tooltipPlacement: \"tooltipPlacement\",\n tooltipType: \"tooltipType\",\n roundEdges: \"roundEdges\",\n gradient: \"gradient\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c31,\n decls: 1,\n vars: 22,\n consts: [[\"ngx-charts-box\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"width\", \"height\", \"x\", \"y\", \"roundEdges\", \"fill\", \"gradientStops\", \"strokeColor\", \"strokeWidth\", \"data\", \"lineCoordinates\", \"gradient\", \"ariaLabel\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"animations\"]],\n template: function BoxSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 0);\n i0.ɵɵlistener(\"select\", function BoxSeriesComponent_Template_g_select_0_listener($event) {\n return ctx.onClick($event);\n })(\"activate\", function BoxSeriesComponent_Template_g_activate_0_listener($event) {\n return ctx.activate.emit($event);\n })(\"deactivate\", function BoxSeriesComponent_Template_g_deactivate_0_listener($event) {\n return ctx.deactivate.emit($event);\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"@animationState\", \"active\")(\"@.disabled\", !ctx.animations)(\"width\", ctx.box.width)(\"height\", ctx.box.height)(\"x\", ctx.box.x)(\"y\", ctx.box.y)(\"roundEdges\", ctx.box.roundEdges)(\"fill\", ctx.box.color)(\"gradientStops\", ctx.box.gradientStops)(\"strokeColor\", ctx.strokeColor)(\"strokeWidth\", ctx.strokeWidth)(\"data\", ctx.box.data)(\"lineCoordinates\", ctx.box.lineCoordinates)(\"gradient\", ctx.gradient)(\"ariaLabel\", ctx.box.ariaLabel)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipPlacement\", ctx.tooltipPlacement)(\"tooltipType\", ctx.tooltipType)(\"tooltipTitle\", ctx.tooltipTitle)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipContext\", ctx.box.data)(\"animations\", ctx.animations);\n }\n },\n dependencies: [BoxComponent, TooltipDirective],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1\n }), animate(500, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return BoxSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BoxChartComponent = /*#__PURE__*/(() => {\n class BoxChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n /** Show or hide the legend. */\n this.legend = false;\n this.legendPosition = LegendPosition.Right;\n this.legendTitle = 'Legend';\n this.showGridLines = true;\n this.xAxis = true;\n this.yAxis = true;\n this.showXAxisLabel = true;\n this.showYAxisLabel = true;\n this.roundDomains = false;\n this.roundEdges = true;\n this.strokeColor = '#FFFFFF';\n this.strokeWidth = 2;\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n /** Chart Margins (For each side, counterclock wise). */\n this.margin = [10, 20, 10, 20];\n /** Chart X axis dimension. */\n this.xAxisHeight = 0;\n /** Chart Y axis dimension. */\n this.yAxisWidth = 0;\n }\n trackBy(index, item) {\n return item.name;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.setScales();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n setColors() {\n let domain = [];\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n setScales() {\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n }\n getXScale(domain, width) {\n const scale = scaleBand().domain(domain.map(d => d.toString())).rangeRound([0, width]).padding(0.5);\n return scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().domain(domain).range([height, 0]);\n return this.roundDomains ? scale.nice() : scale;\n }\n getUniqueBoxChartXDomainValues(results) {\n const valueSet = new Set();\n for (const result of results) {\n valueSet.add(result.name);\n }\n return Array.from(valueSet);\n }\n getXDomain() {\n let domain = [];\n const values = this.getUniqueBoxChartXDomainValues(this.results);\n let min;\n let max;\n if (typeof values[0] === 'string') {\n domain = values.map(val => val.toString());\n } else if (typeof values[0] === 'number') {\n const mappedValues = values.map(v => Number(v));\n min = Math.min(...mappedValues);\n max = Math.max(...mappedValues);\n domain = [min, max];\n } else {\n const mappedValues = values.map(v => Number(new Date(v)));\n min = Math.min(...mappedValues);\n max = Math.max(...mappedValues);\n domain = [new Date(min), new Date(max)];\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n }\n }\n const values = [...domain];\n const mappedValues = values.map(v => Number(v));\n const min = Math.min(...mappedValues);\n const max = Math.max(...mappedValues);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => `${d.name}`);\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onClick(data) {\n this.select.emit(data);\n }\n onActivate(data) {\n this.activate.emit(data);\n }\n onDeactivate(data) {\n this.deactivate.emit(data);\n }\n getLegendOptions() {\n const legendOpts = {\n scaleType: this.schemeType,\n colors: this.colors,\n domain: [],\n position: this.legendPosition,\n title: this.legendTitle\n };\n if (this.schemeType === ScaleType.Ordinal) {\n legendOpts.domain = this.xDomain;\n legendOpts.colors = this.colors;\n } else {\n legendOpts.domain = this.yDomain;\n legendOpts.colors = this.colors.scale;\n }\n return legendOpts;\n }\n }\n BoxChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBoxChartComponent_BaseFactory;\n return function BoxChartComponent_Factory(t) {\n return (ɵBoxChartComponent_BaseFactory || (ɵBoxChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BoxChartComponent)))(t || BoxChartComponent);\n };\n })();\n BoxChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BoxChartComponent,\n selectors: [[\"ngx-charts-box-chart\"]],\n contentQueries: function BoxChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendPosition: \"legendPosition\",\n legendTitle: \"legendTitle\",\n legendOptionsConfig: \"legendOptionsConfig\",\n showGridLines: \"showGridLines\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n roundDomains: \"roundDomains\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n roundEdges: \"roundEdges\",\n strokeColor: \"strokeColor\",\n strokeWidth: \"strokeWidth\",\n tooltipDisabled: \"tooltipDisabled\",\n gradient: \"gradient\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 21,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"animations\"], [1, \"box-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"showGridLines\", \"dims\", \"xScale\", \"showLabel\", \"labelText\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"showGridLines\", \"dims\", \"yScale\", \"showLabel\", \"labelText\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-box-series\", \"\", 3, \"activate\", \"deactivate\", \"select\", \"xScale\", \"yScale\", \"colors\", \"roundEdges\", \"strokeColor\", \"strokeWidth\", \"tooltipDisabled\", \"tooltipTemplate\", \"series\", \"dims\", \"animations\", \"gradient\"]],\n template: function BoxChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function BoxChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function BoxChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function BoxChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n i0.ɵɵlistener(\"dimensionsChanged\", function BoxChartComponent_Template_g_dimensionsChanged_2_listener($event) {\n return ctx.updateXAxisHeight($event);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"g\", 3);\n i0.ɵɵlistener(\"dimensionsChanged\", function BoxChartComponent_Template_g_dimensionsChanged_3_listener($event) {\n return ctx.updateYAxisWidth($event);\n });\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"g\");\n i0.ɵɵtemplate(5, BoxChartComponent__svg_g_5_Template, 2, 12, \"g\", 4);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(18, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"showGridLines\", ctx.showGridLines)(\"dims\", ctx.dims)(\"xScale\", ctx.xScale)(\"showLabel\", ctx.showXAxisLabel)(\"labelText\", ctx.xAxisLabel);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"showGridLines\", ctx.showGridLines)(\"dims\", ctx.dims)(\"yScale\", ctx.yScale)(\"showLabel\", ctx.showYAxisLabel)(\"labelText\", ctx.yAxisLabel);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.results)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, BoxSeriesComponent, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n changeDetection: 0\n });\n return BoxChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BoxChartModule = /*#__PURE__*/(() => {\n class BoxChartModule {}\n BoxChartModule.ɵfac = function BoxChartModule_Factory(t) {\n return new (t || BoxChartModule)();\n };\n BoxChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BoxChartModule\n });\n BoxChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return BoxChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction getDomain(values, scaleType, autoScale, minVal, maxVal) {\n let domain = [];\n if (scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n if (!autoScale) {\n values.push(0);\n }\n }\n if (scaleType === ScaleType.Time || scaleType === ScaleType.Linear) {\n const min = minVal ? minVal : Math.min(...values);\n const max = maxVal ? maxVal : Math.max(...values);\n domain = [min, max];\n } else {\n domain = values;\n }\n return domain;\n}\nfunction getScale(domain, range, scaleType, roundDomains) {\n switch (scaleType) {\n case ScaleType.Time:\n return scaleTime().range(range).domain(domain);\n case ScaleType.Linear:\n {\n const scale = scaleLinear().range(range).domain(domain);\n if (roundDomains) {\n return scale.nice();\n }\n return scale;\n }\n case ScaleType.Ordinal:\n return scalePoint().range([range[0], range[1]]).domain(domain.map(r => r.toString()));\n default:\n return undefined;\n }\n}\nlet BubbleSeriesComponent = /*#__PURE__*/(() => {\n class BubbleSeriesComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.tooltipDisabled = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n this.isSSR = false;\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.circles = this.getCircles();\n }\n getCircles() {\n const seriesName = this.data.name;\n return this.data.series.map((d, i) => {\n if (typeof d.y !== 'undefined' && typeof d.x !== 'undefined') {\n const y = d.y;\n const x = d.x;\n const r = d.r;\n const radius = this.rScale(r || 1);\n const tooltipLabel = formatLabel(d.name);\n const cx = this.xScaleType === ScaleType.Linear ? this.xScale(Number(x)) : this.xScale(x);\n const cy = this.yScaleType === ScaleType.Linear ? this.yScale(Number(y)) : this.yScale(y);\n const color = this.colors.scaleType === ScaleType.Linear ? this.colors.getColor(r) : this.colors.getColor(seriesName);\n const isActive = !this.activeEntries.length ? true : this.isActive({\n name: seriesName\n });\n const opacity = isActive ? 1 : 0.3;\n const data = Object.assign({}, d, {\n series: seriesName,\n name: d.name,\n value: d.y,\n x: d.x,\n radius: d.r\n });\n return {\n data,\n x,\n y,\n r,\n classNames: [`circle-data-${i}`],\n value: y,\n label: x,\n cx,\n cy,\n radius,\n tooltipLabel,\n color,\n opacity,\n seriesName,\n isActive,\n transform: `translate(${cx},${cy})`\n };\n }\n }).filter(circle => circle !== undefined);\n }\n getTooltipText(circle) {\n const hasRadius = typeof circle.r !== 'undefined';\n const hasTooltipLabel = circle.tooltipLabel && circle.tooltipLabel.length;\n const hasSeriesName = circle.seriesName && circle.seriesName.length;\n const radiusValue = hasRadius ? formatLabel(circle.r) : '';\n const xAxisLabel = this.xAxisLabel && this.xAxisLabel !== '' ? `${this.xAxisLabel}:` : '';\n const yAxisLabel = this.yAxisLabel && this.yAxisLabel !== '' ? `${this.yAxisLabel}:` : '';\n const x = formatLabel(circle.x);\n const y = formatLabel(circle.y);\n const name = hasSeriesName && hasTooltipLabel ? `${circle.seriesName} • ${circle.tooltipLabel}` : circle.seriesName + circle.tooltipLabel;\n const tooltipTitle = hasSeriesName || hasTooltipLabel ? `${escapeLabel(name)}` : '';\n return `\n ${tooltipTitle}\n \n ${escapeLabel(x)}
\n ${escapeLabel(y)}\n
\n \n ${escapeLabel(radiusValue)}\n \n `;\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isVisible(circle) {\n if (this.activeEntries.length > 0) {\n return this.isActive({\n name: circle.seriesName\n });\n }\n return circle.opacity !== 0;\n }\n activateCircle(circle) {\n circle.barVisible = true;\n this.activate.emit({\n name: this.data.name\n });\n }\n deactivateCircle(circle) {\n circle.barVisible = false;\n this.deactivate.emit({\n name: this.data.name\n });\n }\n trackBy(index, circle) {\n return `${circle.data.series} ${circle.data.name}`;\n }\n }\n BubbleSeriesComponent.ɵfac = function BubbleSeriesComponent_Factory(t) {\n return new (t || BubbleSeriesComponent)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n BubbleSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BubbleSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-bubble-series\", \"\"]],\n inputs: {\n data: \"data\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n rScale: \"rScale\",\n xScaleType: \"xScaleType\",\n yScaleType: \"yScaleType\",\n colors: \"colors\",\n visibleValue: \"visibleValue\",\n activeEntries: \"activeEntries\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c32,\n decls: 1,\n vars: 2,\n consts: [[4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-circle\", \"\", \"class\", \"circle\", \"ngx-tooltip\", \"\", 3, \"cx\", \"cy\", \"r\", \"fill\", \"opacity\", \"active\", \"pointerEvents\", \"data\", \"classNames\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\", 4, \"ngIf\"], [\"ngx-charts-circle\", \"\", \"ngx-tooltip\", \"\", 1, \"circle\", 3, \"select\", \"activate\", \"deactivate\", \"cx\", \"cy\", \"r\", \"fill\", \"pointerEvents\", \"data\", \"classNames\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"]],\n template: function BubbleSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, BubbleSeriesComponent__svg_g_0_Template, 4, 3, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.circles)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [CircleComponent, i2.NgForOf, i2.NgIf, TooltipDirective],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':enter', [style({\n opacity: 0,\n transform: 'scale(0)'\n }), animate(250, style({\n opacity: 1,\n transform: 'scale(1)'\n }))])])]\n },\n changeDetection: 0\n });\n return BubbleSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BubbleChartComponent = /*#__PURE__*/(() => {\n class BubbleChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.showGridLines = true;\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.xAxis = true;\n this.yAxis = true;\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.maxRadius = 10;\n this.minRadius = 3;\n this.schemeType = ScaleType.Ordinal;\n this.tooltipDisabled = false;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.scaleType = ScaleType.Linear;\n this.margin = [10, 20, 10, 20];\n this.bubblePadding = [0, 0, 0, 0];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.activeEntries = [];\n this.isSSR = false;\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n this.seriesDomain = this.results.map(d => d.name);\n this.rDomain = this.getRDomain();\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.transform = `translate(${this.dims.xOffset},${this.margin[0]})`;\n const colorDomain = this.schemeType === ScaleType.Ordinal ? this.seriesDomain : this.rDomain;\n this.colors = new ColorHelper(this.scheme, this.schemeType, colorDomain, this.customColors);\n this.data = this.results;\n this.minRadius = Math.max(this.minRadius, 1);\n this.maxRadius = Math.max(this.maxRadius, 1);\n this.rScale = this.getRScale(this.rDomain, [this.minRadius, this.maxRadius]);\n this.bubblePadding = [0, 0, 0, 0];\n this.setScales();\n this.bubblePadding = this.getBubblePadding();\n this.setScales();\n this.legendOptions = this.getLegendOptions();\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n hideCircles() {\n this.deactivateAll();\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n getBubblePadding() {\n let yMin = 0;\n let xMin = 0;\n let yMax = this.dims.height;\n let xMax = this.dims.width;\n for (const s of this.data) {\n for (const d of s.series) {\n const r = this.rScale(d.r);\n const cx = this.xScaleType === ScaleType.Linear ? this.xScale(Number(d.x)) : this.xScale(d.x);\n const cy = this.yScaleType === ScaleType.Linear ? this.yScale(Number(d.y)) : this.yScale(d.y);\n xMin = Math.max(r - cx, xMin);\n yMin = Math.max(r - cy, yMin);\n yMax = Math.max(cy + r, yMax);\n xMax = Math.max(cx + r, xMax);\n }\n }\n xMax = Math.max(xMax - this.dims.width, 0);\n yMax = Math.max(yMax - this.dims.height, 0);\n return [yMin, xMax, yMax, xMin];\n }\n setScales() {\n let width = this.dims.width;\n if (this.xScaleMin === undefined && this.xScaleMax === undefined) {\n width = width - this.bubblePadding[1];\n }\n let height = this.dims.height;\n if (this.yScaleMin === undefined && this.yScaleMax === undefined) {\n height = height - this.bubblePadding[2];\n }\n this.xScale = this.getXScale(this.xDomain, width);\n this.yScale = this.getYScale(this.yDomain, height);\n }\n getYScale(domain, height) {\n return getScale(domain, [height, this.bubblePadding[0]], this.yScaleType, this.roundDomains);\n }\n getXScale(domain, width) {\n return getScale(domain, [this.bubblePadding[3], width], this.xScaleType, this.roundDomains);\n }\n getRScale(domain, range) {\n const scale = scaleLinear().range(range).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n position: this.legendPosition,\n title: undefined\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.rDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n getXDomain() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.x)) {\n values.push(d.x);\n }\n }\n }\n this.xScaleType = getScaleType(values);\n return getDomain(values, this.xScaleType, this.autoScale, this.xScaleMin, this.xScaleMax);\n }\n getYDomain() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.y)) {\n values.push(d.y);\n }\n }\n }\n this.yScaleType = getScaleType(values);\n return getDomain(values, this.yScaleType, this.autoScale, this.yScaleMin, this.yScaleMax);\n }\n getRDomain() {\n let min = Infinity;\n let max = -Infinity;\n for (const results of this.results) {\n for (const d of results.series) {\n const value = Number(d.r) || 1;\n min = Math.min(min, value);\n max = Math.max(max, value);\n }\n }\n return [min, max];\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({\n value: entry,\n entries: []\n });\n }\n this.activeEntries = [];\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n }\n BubbleChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵBubbleChartComponent_BaseFactory;\n return function BubbleChartComponent_Factory(t) {\n return (ɵBubbleChartComponent_BaseFactory || (ɵBubbleChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(BubbleChartComponent)))(t || BubbleChartComponent);\n };\n })();\n BubbleChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: BubbleChartComponent,\n selectors: [[\"ngx-charts-bubble-chart\"]],\n contentQueries: function BubbleChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n hostBindings: function BubbleChartComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseleave\", function BubbleChartComponent_mouseleave_HostBindingHandler() {\n return ctx.hideCircles();\n });\n }\n },\n inputs: {\n showGridLines: \"showGridLines\",\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n roundDomains: \"roundDomains\",\n maxRadius: \"maxRadius\",\n minRadius: \"minRadius\",\n autoScale: \"autoScale\",\n schemeType: \"schemeType\",\n tooltipDisabled: \"tooltipDisabled\",\n xScaleMin: \"xScaleMin\",\n xScaleMax: \"xScaleMax\",\n yScaleMin: \"yScaleMin\",\n yScaleMax: \"yScaleMax\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 10,\n vars: 19,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"activeEntries\", \"legendOptions\", \"animations\"], [1, \"bubble-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"showGridLines\", \"dims\", \"xScale\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"showGridLines\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"x\", \"0\", \"y\", \"0\", 1, \"bubble-chart-area\", 2, \"fill\", \"rgb(255, 0, 0)\", \"opacity\", \"0\", \"cursor\", \"'auto'\", 3, \"mouseenter\"], [4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"showGridLines\", \"dims\", \"xScale\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"showGridLines\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-bubble-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"xScale\", \"yScale\", \"rScale\", \"xScaleType\", \"yScaleType\", \"xAxisLabel\", \"yAxisLabel\", \"colors\", \"data\", \"activeEntries\", \"tooltipDisabled\", \"tooltipTemplate\"]],\n template: function BubbleChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function BubbleChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function BubbleChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function BubbleChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n i0.ɵɵelement(3, \"rect\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"g\", 1);\n i0.ɵɵtemplate(5, BubbleChartComponent__svg_g_5_Template, 1, 10, \"g\", 2)(6, BubbleChartComponent__svg_g_6_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementStart(7, \"rect\", 4);\n i0.ɵɵlistener(\"mouseenter\", function BubbleChartComponent_Template_rect_mouseenter_7_listener() {\n return ctx.deactivateAll();\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(8, BubbleChartComponent__svg_g_8_Template, 2, 3, \"g\", 5)(9, BubbleChartComponent__svg_g_9_Template, 2, 3, \"g\", 5);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(16, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"activeEntries\", ctx.activeEntries)(\"legendOptions\", ctx.legendOptions)(\"animations\", ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"id\", ctx.clipPathId);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.dims.width)(\"height\", ctx.dims.height);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, BubbleSeriesComponent, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1\n }), animate(500, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return BubbleChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet BubbleChartModule = /*#__PURE__*/(() => {\n class BubbleChartModule {}\n BubbleChartModule.ɵfac = function BubbleChartModule_Factory(t) {\n return new (t || BubbleChartModule)();\n };\n BubbleChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BubbleChartModule\n });\n BubbleChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return BubbleChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet HeatMapCellComponent = /*#__PURE__*/(() => {\n class HeatMapCellComponent {\n constructor(element) {\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.barOrientation = BarOrientation;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.transform = `translate(${this.x} , ${this.y})`;\n this.startOpacity = 0.3;\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n this.gradientStops = this.getGradientStops();\n if (this.animations) {\n this.loadAnimation();\n }\n }\n getGradientStops() {\n return [{\n offset: 0,\n color: this.fill,\n opacity: this.startOpacity\n }, {\n offset: 100,\n color: this.fill,\n opacity: 1\n }];\n }\n loadAnimation() {\n const node = select(this.element).select('.cell');\n node.attr('opacity', 0);\n this.animateToCurrentForm();\n }\n animateToCurrentForm() {\n const node = select(this.element).select('.cell');\n node.transition().duration(750).attr('opacity', 1);\n }\n onClick() {\n this.select.emit(this.data);\n }\n onMouseEnter() {\n this.activate.emit(this.data);\n }\n onMouseLeave() {\n this.deactivate.emit(this.data);\n }\n }\n HeatMapCellComponent.ɵfac = function HeatMapCellComponent_Factory(t) {\n return new (t || HeatMapCellComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n HeatMapCellComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: HeatMapCellComponent,\n selectors: [[\"g\", \"ngx-charts-heat-map-cell\", \"\"]],\n hostBindings: function HeatMapCellComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseenter\", function HeatMapCellComponent_mouseenter_HostBindingHandler() {\n return ctx.onMouseEnter();\n })(\"mouseleave\", function HeatMapCellComponent_mouseleave_HostBindingHandler() {\n return ctx.onMouseLeave();\n });\n }\n },\n inputs: {\n fill: \"fill\",\n x: \"x\",\n y: \"y\",\n width: \"width\",\n height: \"height\",\n data: \"data\",\n gradient: \"gradient\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c33,\n decls: 3,\n vars: 5,\n consts: [[1, \"cell\"], [4, \"ngIf\"], [\"rx\", \"3\", 1, \"cell\", 3, \"click\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"]],\n template: function HeatMapCellComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 0);\n i0.ɵɵtemplate(1, HeatMapCellComponent__svg_defs_1_Template, 2, 3, \"defs\", 1);\n i0.ɵɵelementStart(2, \"rect\", 2);\n i0.ɵɵlistener(\"click\", function HeatMapCellComponent_Template_rect_click_2_listener() {\n return ctx.onClick();\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.gradient);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"fill\", ctx.gradient ? ctx.gradientUrl : ctx.fill)(\"width\", ctx.width)(\"height\", ctx.height);\n }\n },\n dependencies: [SvgLinearGradientComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return HeatMapCellComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet HeatCellSeriesComponent = /*#__PURE__*/(() => {\n class HeatCellSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnInit() {\n if (!this.tooltipText) {\n this.tooltipText = this.getTooltipText;\n }\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.cells = this.getCells();\n }\n getCells() {\n const cells = [];\n this.data.map(row => {\n row.series.map(cell => {\n const value = cell.value;\n cell.series = row.name;\n cells.push({\n row,\n cell,\n x: this.xScale(row.name),\n y: this.yScale(cell.name),\n width: this.xScale.bandwidth(),\n height: this.yScale.bandwidth(),\n fill: this.colors.getColor(value),\n data: value,\n label: formatLabel(cell.name),\n series: row.name\n });\n });\n });\n return cells;\n }\n getTooltipText({\n label,\n data,\n series\n }) {\n return `\n ${escapeLabel(series)} • ${escapeLabel(label)}\n ${data.toLocaleString()}\n `;\n }\n trackBy(index, item) {\n return item.label;\n }\n onClick(data) {\n this.select.emit(data);\n }\n }\n HeatCellSeriesComponent.ɵfac = function HeatCellSeriesComponent_Factory(t) {\n return new (t || HeatCellSeriesComponent)();\n };\n HeatCellSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: HeatCellSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-heat-map-cell-series\", \"\"]],\n inputs: {\n data: \"data\",\n colors: \"colors\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n gradient: \"gradient\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipText: \"tooltipText\",\n tooltipTemplate: \"tooltipTemplate\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c34,\n decls: 1,\n vars: 2,\n consts: [[\"ngx-charts-heat-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"x\", \"y\", \"width\", \"height\", \"fill\", \"data\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-heat-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"x\", \"y\", \"width\", \"height\", \"fill\", \"data\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"]],\n template: function HeatCellSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, HeatCellSeriesComponent__svg_g_0_Template, 1, 18, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.cells)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [HeatMapCellComponent, i2.NgForOf, TooltipDirective],\n encapsulation: 2,\n changeDetection: 0\n });\n return HeatCellSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet HeatMapComponent = /*#__PURE__*/(() => {\n class HeatMapComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.innerPadding = 8;\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.tooltipDisabled = false;\n this.activeEntries = [];\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.scaleType = ScaleType.Linear;\n }\n update() {\n super.update();\n this.formatDates();\n this.xDomain = this.getXDomain();\n this.yDomain = this.getYDomain();\n this.valueDomain = this.getValueDomain();\n this.scaleType = getScaleType(this.valueDomain, false);\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.scaleType,\n legendPosition: this.legendPosition\n });\n if (this.scaleType === ScaleType.Linear) {\n let min = this.min;\n let max = this.max;\n if (!this.min) {\n min = Math.min(0, ...this.valueDomain);\n }\n if (!this.max) {\n max = Math.max(...this.valueDomain);\n }\n this.valueDomain = [min, max];\n }\n this.xScale = this.getXScale();\n this.yScale = this.getYScale();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.rects = this.getRects();\n }\n getXDomain() {\n const domain = [];\n for (const group of this.results) {\n if (!domain.includes(group.name)) {\n domain.push(group.name);\n }\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.name)) {\n domain.push(d.name);\n }\n }\n }\n return domain;\n }\n getValueDomain() {\n const domain = [];\n for (const group of this.results) {\n for (const d of group.series) {\n if (!domain.includes(d.value)) {\n domain.push(d.value);\n }\n }\n }\n return domain;\n }\n /**\n * Converts the input to gap paddingInner in fraction\n * Supports the following inputs:\n * Numbers: 8\n * Strings: \"8\", \"8px\", \"8%\"\n * Arrays: [8,2], \"8,2\", \"[8,2]\"\n * Mixed: [8,\"2%\"], [\"8px\",\"2%\"], \"8,2%\", \"[8,2%]\"\n *\n * @memberOf HeatMapComponent\n */\n getDimension(value, index = 0, N, L) {\n if (typeof value === 'string') {\n value = value.replace('[', '').replace(']', '').replace('px', '')\n // tslint:disable-next-line: quotemark\n .replace(\"'\", '');\n if (value.includes(',')) {\n value = value.split(',');\n }\n }\n if (Array.isArray(value) && typeof index === 'number') {\n return this.getDimension(value[index], null, N, L);\n }\n if (typeof value === 'string' && value.includes('%')) {\n return +value.replace('%', '') / 100;\n }\n return N / (L / +value + 1);\n }\n getXScale() {\n const f = this.getDimension(this.innerPadding, 0, this.xDomain.length, this.dims.width);\n return scaleBand().rangeRound([0, this.dims.width]).domain(this.xDomain).paddingInner(f);\n }\n getYScale() {\n const f = this.getDimension(this.innerPadding, 1, this.yDomain.length, this.dims.height);\n return scaleBand().rangeRound([this.dims.height, 0]).domain(this.yDomain).paddingInner(f);\n }\n getRects() {\n const rects = [];\n this.xDomain.map(xVal => {\n this.yDomain.map(yVal => {\n rects.push({\n x: this.xScale(xVal),\n y: this.yScale(yVal),\n rx: 3,\n width: this.xScale.bandwidth(),\n height: this.yScale.bandwidth(),\n fill: 'rgba(200,200,200,0.03)'\n });\n });\n });\n return rects;\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, this.scaleType, this.valueDomain);\n }\n getLegendOptions() {\n return {\n scaleType: this.scaleType,\n domain: this.valueDomain,\n colors: this.scaleType === ScaleType.Ordinal ? this.colors : this.colors.scale,\n title: this.scaleType === ScaleType.Ordinal ? this.legendTitle : undefined,\n position: this.legendPosition\n };\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n const items = this.results.map(g => g.series).flat().filter(i => {\n if (fromLegend) {\n return i.label === item.name;\n } else {\n return i.name === item.name && i.series === item.series;\n }\n });\n this.activeEntries = [...items];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(event, group, fromLegend = false) {\n const item = Object.assign({}, event);\n if (group) {\n item.series = group.name;\n }\n this.activeEntries = this.activeEntries.filter(i => {\n if (fromLegend) {\n return i.label !== item.name;\n } else {\n return !(i.name === item.name && i.series === item.series);\n }\n });\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n HeatMapComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵHeatMapComponent_BaseFactory;\n return function HeatMapComponent_Factory(t) {\n return (ɵHeatMapComponent_BaseFactory || (ɵHeatMapComponent_BaseFactory = i0.ɵɵgetInheritedFactory(HeatMapComponent)))(t || HeatMapComponent);\n };\n })();\n HeatMapComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: HeatMapComponent,\n selectors: [[\"ngx-charts-heat-map\"]],\n contentQueries: function HeatMapComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n gradient: \"gradient\",\n innerPadding: \"innerPadding\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipText: \"tooltipText\",\n min: \"min\",\n max: \"max\",\n activeEntries: \"activeEntries\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 20,\n consts: [[3, \"legendLabelClick\", \"view\", \"showLegend\", \"animations\", \"legendOptions\"], [1, \"heat-map\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-heat-map-cell-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"xScale\", \"yScale\", \"colors\", \"data\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipTemplate\", \"tooltipText\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"]],\n template: function HeatMapComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function HeatMapComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, HeatMapComponent__svg_g_2_Template, 1, 9, \"g\", 2)(3, HeatMapComponent__svg_g_3_Template, 1, 8, \"g\", 3)(4, HeatMapComponent__svg_rect_4_Template, 1, 6, \"rect\", 4);\n i0.ɵɵelementStart(5, \"g\", 5);\n i0.ɵɵlistener(\"select\", function HeatMapComponent_Template_g_select_5_listener($event) {\n return ctx.onClick($event);\n })(\"activate\", function HeatMapComponent_Template_g_activate_5_listener($event) {\n return ctx.onActivate($event, undefined);\n })(\"deactivate\", function HeatMapComponent_Template_g_deactivate_5_listener($event) {\n return ctx.onDeactivate($event, undefined);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(17, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"animations\", ctx.animations)(\"legendOptions\", ctx.legendOptions);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.rects);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"xScale\", ctx.xScale)(\"yScale\", ctx.yScale)(\"colors\", ctx.colors)(\"data\", ctx.results)(\"gradient\", ctx.gradient)(\"animations\", ctx.animations)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipText\", ctx.tooltipText);\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, HeatCellSeriesComponent, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n changeDetection: 0\n });\n return HeatMapComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet HeatMapModule = /*#__PURE__*/(() => {\n class HeatMapModule {}\n HeatMapModule.ɵfac = function HeatMapModule_Factory(t) {\n return new (t || HeatMapModule)();\n };\n HeatMapModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: HeatMapModule\n });\n HeatMapModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return HeatMapModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LineComponent = /*#__PURE__*/(() => {\n class LineComponent {\n constructor(element, platformId) {\n this.element = element;\n this.platformId = platformId;\n this.fill = 'none';\n this.animations = true;\n // @Output() select = new EventEmitter();\n this.initialized = false;\n this.isSSR = false;\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n ngOnChanges(changes) {\n if (!this.initialized) {\n this.initialized = true;\n this.initialPath = this.path;\n } else {\n this.updatePathEl();\n }\n }\n updatePathEl() {\n const node = select(this.element.nativeElement).select('.line');\n if (this.animations) {\n node.transition().duration(750).attr('d', this.path);\n } else {\n node.attr('d', this.path);\n }\n }\n }\n LineComponent.ɵfac = function LineComponent_Factory(t) {\n return new (t || LineComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n LineComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: LineComponent,\n selectors: [[\"g\", \"ngx-charts-line\", \"\"]],\n inputs: {\n path: \"path\",\n stroke: \"stroke\",\n data: \"data\",\n fill: \"fill\",\n animations: \"animations\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c36,\n decls: 2,\n vars: 2,\n consts: [[4, \"ngIf\"], [\"stroke-width\", \"1.5px\", 1, \"line\"]],\n template: function LineComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, LineComponent__svg_g_0_Template, 2, 4, \"g\", 0)(1, LineComponent__svg_g_1_Template, 2, 3, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [i2.NgIf],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':enter', [style({\n strokeDasharray: 2000,\n strokeDashoffset: 2000\n }), animate(1000, style({\n strokeDashoffset: 0\n }))])])]\n },\n changeDetection: 0\n });\n return LineComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LineSeriesComponent = /*#__PURE__*/(() => {\n class LineSeriesComponent {\n constructor() {\n this.animations = true;\n this.barOrientation = BarOrientation;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradients();\n const data = this.sortData(this.data.series);\n const lineGen = this.getLineGenerator();\n this.path = lineGen(data) || '';\n const areaGen = this.getAreaGenerator();\n this.areaPath = areaGen(data) || '';\n if (this.hasRange) {\n const range = this.getRangeGenerator();\n this.outerPath = range(data) || '';\n }\n if (this.hasGradient) {\n this.stroke = this.gradientUrl;\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n if (max === min) {\n this.stroke = this.colors.getColor(max);\n }\n } else {\n this.stroke = this.colors.getColor(this.data.name);\n }\n }\n getLineGenerator() {\n return line().x(d => {\n const label = d.name;\n let value;\n if (this.scaleType === ScaleType.Time) {\n value = this.xScale(label);\n } else if (this.scaleType === ScaleType.Linear) {\n value = this.xScale(Number(label));\n } else {\n value = this.xScale(label);\n }\n return value;\n }).y(d => this.yScale(d.value)).curve(this.curve);\n }\n getRangeGenerator() {\n return area().x(d => {\n const label = d.name;\n let value;\n if (this.scaleType === ScaleType.Time) {\n value = this.xScale(label);\n } else if (this.scaleType === ScaleType.Linear) {\n value = this.xScale(Number(label));\n } else {\n value = this.xScale(label);\n }\n return value;\n }).y0(d => this.yScale(typeof d.min === 'number' ? d.min : d.value)).y1(d => this.yScale(typeof d.max === 'number' ? d.max : d.value)).curve(this.curve);\n }\n getAreaGenerator() {\n const xProperty = d => {\n const label = d.name;\n return this.xScale(label);\n };\n return area().x(xProperty).y0(() => this.yScale.range()[0]).y1(d => this.yScale(d.value)).curve(this.curve);\n }\n sortData(data) {\n if (this.scaleType === ScaleType.Linear) {\n data = sortLinear(data, 'name');\n } else if (this.scaleType === ScaleType.Time) {\n data = sortByTime(data, 'name');\n } else {\n data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n return data;\n }\n updateGradients() {\n if (this.colors.scaleType === ScaleType.Linear) {\n this.hasGradient = true;\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n this.areaGradientStops = this.colors.getLinearGradientStops(max);\n } else {\n this.hasGradient = false;\n this.gradientStops = undefined;\n this.areaGradientStops = undefined;\n }\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n }\n LineSeriesComponent.ɵfac = function LineSeriesComponent_Factory(t) {\n return new (t || LineSeriesComponent)();\n };\n LineSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: LineSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-line-series\", \"\"]],\n inputs: {\n data: \"data\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n colors: \"colors\",\n scaleType: \"scaleType\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n rangeFillOpacity: \"rangeFillOpacity\",\n hasRange: \"hasRange\",\n animations: \"animations\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c37,\n decls: 6,\n vars: 22,\n consts: [[\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\", 4, \"ngIf\"], [\"ngx-charts-area\", \"\", 1, \"line-highlight\", 3, \"data\", \"path\", \"fill\", \"opacity\", \"startOpacity\", \"gradient\", \"stops\", \"animations\"], [\"ngx-charts-line\", \"\", 1, \"line-series\", 3, \"data\", \"path\", \"stroke\", \"animations\"], [\"ngx-charts-area\", \"\", \"class\", \"line-series-range\", 3, \"data\", \"path\", \"fill\", \"active\", \"inactive\", \"opacity\", \"animations\", 4, \"ngIf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [\"ngx-charts-area\", \"\", 1, \"line-series-range\", 3, \"data\", \"path\", \"fill\", \"opacity\", \"animations\"]],\n template: function LineSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\")(1, \"defs\");\n i0.ɵɵtemplate(2, LineSeriesComponent__svg_g_2_Template, 1, 3, \"g\", 0);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(3, \"g\", 1)(4, \"g\", 2);\n i0.ɵɵtemplate(5, LineSeriesComponent__svg_g_5_Template, 1, 9, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"active\", ctx.isActive(ctx.data))(\"inactive\", ctx.isInactive(ctx.data));\n i0.ɵɵproperty(\"data\", ctx.data)(\"path\", ctx.areaPath)(\"fill\", ctx.hasGradient ? ctx.gradientUrl : ctx.colors.getColor(ctx.data.name))(\"opacity\", 0.25)(\"startOpacity\", 0)(\"gradient\", true)(\"stops\", ctx.areaGradientStops)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"active\", ctx.isActive(ctx.data))(\"inactive\", ctx.isInactive(ctx.data));\n i0.ɵɵproperty(\"data\", ctx.data)(\"path\", ctx.path)(\"stroke\", ctx.stroke)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.hasRange);\n }\n },\n dependencies: [SvgLinearGradientComponent, AreaComponent, LineComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return LineSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LineChartComponent = /*#__PURE__*/(() => {\n class LineChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.showGridLines = true;\n this.curve = curveLinear;\n this.activeEntries = [];\n this.trimXAxisTicks = true;\n this.trimYAxisTicks = true;\n this.rotateXAxisTicks = true;\n this.maxXAxisTickLength = 16;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.showRefLines = false;\n this.showRefLabels = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.timelineHeight = 50;\n this.timelinePadding = 10;\n this.isSSR = false;\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n if (this.timeline) {\n this.dims.height -= this.timelineHeight + this.margin[2] + this.timelinePadding;\n }\n this.xDomain = this.getXDomain();\n if (this.filteredDomain) {\n this.xDomain = this.filteredDomain;\n }\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n this.yScale = this.getYScale(this.yDomain, this.dims.height);\n this.updateTimeline();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n this.clipPathId = 'clip' + id().toString();\n this.clipPath = `url(#${this.clipPathId})`;\n }\n updateTimeline() {\n if (this.timeline) {\n this.timelineWidth = this.dims.width;\n this.timelineXDomain = this.getXDomain();\n this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n this.timelineTransform = `translate(${this.dims.xOffset}, ${-this.margin[2]})`;\n }\n }\n getXDomain() {\n let values = getUniqueXDomainValues(this.results);\n this.scaleType = getScaleType(values);\n let domain = [];\n if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n }\n let min;\n let max;\n if (this.scaleType === ScaleType.Time || this.scaleType === ScaleType.Linear) {\n min = this.xScaleMin ? this.xScaleMin : Math.min(...values);\n max = this.xScaleMax ? this.xScaleMax : Math.max(...values);\n }\n if (this.scaleType === ScaleType.Time) {\n domain = [new Date(min), new Date(max)];\n this.xSet = [...values].sort((a, b) => {\n const aDate = a.getTime();\n const bDate = b.getTime();\n if (aDate > bDate) return 1;\n if (bDate > aDate) return -1;\n return 0;\n });\n } else if (this.scaleType === ScaleType.Linear) {\n domain = [min, max];\n // Use compare function to sort numbers numerically\n this.xSet = [...values].sort((a, b) => a - b);\n } else {\n domain = values;\n this.xSet = values;\n }\n return domain;\n }\n getYDomain() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n this.hasRange = true;\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n this.hasRange = true;\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n const values = [...domain];\n if (!this.autoScale) {\n values.push(0);\n }\n const min = this.yScaleMin ? this.yScaleMin : Math.min(...values);\n const max = this.yScaleMax ? this.yScaleMax : Math.max(...values);\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n let scale;\n if (this.scaleType === ScaleType.Time) {\n scale = scaleTime().range([0, width]).domain(domain);\n } else if (this.scaleType === ScaleType.Linear) {\n scale = scaleLinear().range([0, width]).domain(domain);\n if (this.roundDomains) {\n scale = scale.nice();\n }\n } else if (this.scaleType === ScaleType.Ordinal) {\n scale = scalePoint().range([0, width]).padding(0.1).domain(domain);\n }\n return scale;\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([height, 0]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n updateDomain(domain) {\n this.filteredDomain = domain;\n this.xDomain = this.filteredDomain;\n this.xScale = this.getXScale(this.xDomain, this.dims.width);\n }\n updateHoveredVertical(item) {\n this.hoveredVertical = item.value;\n this.deactivateAll();\n }\n hideCircles() {\n this.hoveredVertical = null;\n this.deactivateAll();\n }\n onClick(data) {\n this.select.emit(data);\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n setColors() {\n let domain;\n if (this.schemeType === ScaleType.Ordinal) {\n domain = this.seriesDomain;\n } else {\n domain = this.yDomain;\n }\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n const opts = {\n scaleType: this.schemeType,\n colors: undefined,\n domain: [],\n title: undefined,\n position: this.legendPosition\n };\n if (opts.scaleType === ScaleType.Ordinal) {\n opts.domain = this.seriesDomain;\n opts.colors = this.colors;\n opts.title = this.legendTitle;\n } else {\n opts.domain = this.yDomain;\n opts.colors = this.colors.scale;\n }\n return opts;\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n this.deactivateAll();\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({\n value: entry,\n entries: []\n });\n }\n this.activeEntries = [];\n }\n }\n LineChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵLineChartComponent_BaseFactory;\n return function LineChartComponent_Factory(t) {\n return (ɵLineChartComponent_BaseFactory || (ɵLineChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(LineChartComponent)))(t || LineChartComponent);\n };\n })();\n LineChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: LineChartComponent,\n selectors: [[\"ngx-charts-line-chart\"]],\n contentQueries: function LineChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n i0.ɵɵcontentQuery(dirIndex, _c23, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.seriesTooltipTemplate = _t.first);\n }\n },\n hostBindings: function LineChartComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseleave\", function LineChartComponent_mouseleave_HostBindingHandler() {\n return ctx.hideCircles();\n });\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n autoScale: \"autoScale\",\n timeline: \"timeline\",\n gradient: \"gradient\",\n showGridLines: \"showGridLines\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n rangeFillOpacity: \"rangeFillOpacity\",\n trimXAxisTicks: \"trimXAxisTicks\",\n trimYAxisTicks: \"trimYAxisTicks\",\n rotateXAxisTicks: \"rotateXAxisTicks\",\n maxXAxisTickLength: \"maxXAxisTickLength\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n xAxisTicks: \"xAxisTicks\",\n yAxisTicks: \"yAxisTicks\",\n roundDomains: \"roundDomains\",\n tooltipDisabled: \"tooltipDisabled\",\n showRefLines: \"showRefLines\",\n referenceLines: \"referenceLines\",\n showRefLabels: \"showRefLabels\",\n xScaleMin: \"xScaleMin\",\n xScaleMax: \"xScaleMax\",\n yScaleMin: \"yScaleMin\",\n yScaleMax: \"yScaleMax\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 12,\n vars: 20,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"line-chart\", \"chart\"], [\"ngx-charts-x-axis\", \"\", 3, \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"referenceLines\", \"showRefLines\", \"showRefLabels\", \"dimensionsChanged\", 4, \"ngIf\"], [4, \"ngIf\"], [3, \"mouseleave\", 4, \"ngIf\"], [\"ngx-charts-timeline\", \"\", 3, \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"scaleType\", \"legend\", \"onDomainChange\", 4, \"ngIf\"], [\"ngx-charts-x-axis\", \"\", 3, \"dimensionsChanged\", \"xScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"rotateTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"ticks\", \"referenceLines\", \"showRefLines\", \"showRefLabels\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-line-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"activeEntries\", \"scaleType\", \"curve\", \"rangeFillOpacity\", \"hasRange\", \"animations\"], [3, \"mouseleave\"], [\"ngx-charts-tooltip-area\", \"\", 3, \"hover\", \"dims\", \"xSet\", \"xScale\", \"yScale\", \"results\", \"colors\", \"tooltipDisabled\", \"tooltipTemplate\"], [4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-circle-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"visibleValue\", \"activeEntries\", \"tooltipDisabled\", \"tooltipTemplate\"], [\"ngx-charts-timeline\", \"\", 3, \"onDomainChange\", \"results\", \"view\", \"height\", \"scheme\", \"customColors\", \"scaleType\", \"legend\"], [\"ngx-charts-line-series\", \"\", 3, \"xScale\", \"yScale\", \"colors\", \"data\", \"scaleType\", \"curve\", \"hasRange\", \"animations\"]],\n template: function LineChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function LineChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function LineChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function LineChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"defs\")(2, \"clipPath\");\n i0.ɵɵelement(3, \"rect\");\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(4, \"g\", 1);\n i0.ɵɵtemplate(5, LineChartComponent__svg_g_5_Template, 1, 10, \"g\", 2)(6, LineChartComponent__svg_g_6_Template, 1, 12, \"g\", 3);\n i0.ɵɵelementStart(7, \"g\");\n i0.ɵɵtemplate(8, LineChartComponent__svg_g_8_Template, 2, 2, \"g\", 4)(9, LineChartComponent__svg_g_9_Template, 2, 2, \"g\", 4)(10, LineChartComponent__svg_g_10_Template, 3, 9, \"g\", 5);\n i0.ɵɵelementEnd()();\n i0.ɵɵtemplate(11, LineChartComponent__svg_g_11_Template, 2, 13, \"g\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(17, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"id\", ctx.clipPathId);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"width\", ctx.dims.width + 10)(\"height\", ctx.dims.height + 10)(\"transform\", \"translate(-5, -5)\");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.clipPath);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tooltipDisabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.timeline && ctx.scaleType != \"ordinal\");\n }\n },\n dependencies: [ChartComponent, XAxisComponent, YAxisComponent, LineSeriesComponent, TooltipArea, CircleSeriesComponent, Timeline, i2.NgIf, i2.NgForOf],\n styles: [_c25],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1\n }), animate(500, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return LineChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LineChartModule = /*#__PURE__*/(() => {\n class LineChartModule {}\n LineChartModule.ɵfac = function LineChartModule_Factory(t) {\n return new (t || LineChartModule)();\n };\n LineChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: LineChartModule\n });\n LineChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return LineChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PieLabelComponent = /*#__PURE__*/(() => {\n class PieLabelComponent {\n constructor(platformId) {\n this.platformId = platformId;\n this.animations = true;\n this.labelTrim = true;\n this.labelTrimSize = 10;\n this.trimLabel = trimLabel;\n }\n ngOnChanges(changes) {\n this.setTransforms();\n this.update();\n }\n setTransforms() {\n if (isPlatformServer(this.platformId)) {\n this.styleTransform = `translate3d(${this.textX}px,${this.textY}px, 0)`;\n this.attrTransform = `translate(${this.textX},${this.textY})`;\n this.textTransition = !this.animations ? null : 'transform 0.75s';\n } else {\n const isIE = /(edge|msie|trident)/i.test(navigator.userAgent);\n this.styleTransform = isIE ? null : `translate3d(${this.textX}px,${this.textY}px, 0)`;\n this.attrTransform = !isIE ? null : `translate(${this.textX},${this.textY})`;\n this.textTransition = isIE || !this.animations ? null : 'transform 0.75s';\n }\n }\n update() {\n let startRadius = this.radius;\n if (this.explodeSlices) {\n startRadius = this.radius * this.value / this.max;\n }\n const innerArc = arc().innerRadius(startRadius).outerRadius(startRadius);\n // Calculate innerPos then scale outer position to match label position\n const innerPos = innerArc.centroid(this.data);\n let scale = this.data.pos[1] / innerPos[1];\n if (this.data.pos[1] === 0 || innerPos[1] === 0) {\n scale = 1;\n }\n const outerPos = [scale * innerPos[0], scale * innerPos[1]];\n this.line = `M${innerPos}L${outerPos}L${this.data.pos}`;\n }\n get textX() {\n return this.data.pos[0];\n }\n get textY() {\n return this.data.pos[1];\n }\n textAnchor() {\n return this.midAngle(this.data) < Math.PI ? TextAnchor.Start : TextAnchor.End;\n }\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n }\n PieLabelComponent.ɵfac = function PieLabelComponent_Factory(t) {\n return new (t || PieLabelComponent)(i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n PieLabelComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PieLabelComponent,\n selectors: [[\"g\", \"ngx-charts-pie-label\", \"\"]],\n inputs: {\n data: \"data\",\n radius: \"radius\",\n label: \"label\",\n color: \"color\",\n max: \"max\",\n value: \"value\",\n explodeSlices: \"explodeSlices\",\n animations: \"animations\",\n labelTrim: \"labelTrim\",\n labelTrimSize: \"labelTrimSize\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c38,\n decls: 6,\n vars: 17,\n consts: [[\"dy\", \".35em\", 1, \"pie-label\"], [\"fill\", \"none\", 1, \"pie-label-line\", \"line\"]],\n template: function PieLabelComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"title\");\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(2, \"g\")(3, \"text\", 0);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n i0.ɵɵelement(5, \"path\", 1);\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx.label);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"transform\", ctx.styleTransform)(\"transition\", ctx.textTransition);\n i0.ɵɵattribute(\"transform\", ctx.attrTransform);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"text-anchor\", ctx.textAnchor())(\"shape-rendering\", \"crispEdges\");\n i0.ɵɵclassProp(\"animation\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx.labelTrim ? ctx.trimLabel(ctx.label, ctx.labelTrimSize) : ctx.label, \" \");\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"animation\", ctx.animations);\n i0.ɵɵattribute(\"d\", ctx.line)(\"stroke\", ctx.color);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n return PieLabelComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PolarSeriesComponent = /*#__PURE__*/(() => {\n class PolarSeriesComponent {\n constructor() {\n this.tooltipDisabled = false;\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.circleRadius = 3;\n this.barOrientation = BarOrientation;\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.updateGradients();\n const line = this.getLineGenerator();\n const data = this.sortData(this.data.series);\n const seriesName = this.data.name;\n const linearScaleType = this.colors.scaleType === ScaleType.Linear;\n const min = this.yScale.domain()[0];\n this.seriesColor = this.colors.getColor(linearScaleType ? min : seriesName);\n this.path = line(data) || '';\n this.circles = data.map(d => {\n const a = this.getAngle(d);\n const r = this.getRadius(d);\n const value = d.value;\n const color = this.colors.getColor(linearScaleType ? Math.abs(value) : seriesName);\n const cData = Object.assign({}, d, {\n series: seriesName,\n value,\n name: d.name\n });\n return {\n data: cData,\n cx: r * Math.sin(a),\n cy: -r * Math.cos(a),\n value,\n color,\n label: d.name\n };\n });\n this.active = this.isActive(this.data);\n this.inactive = this.isInactive(this.data);\n this.tooltipText = this.tooltipText || (c => this.defaultTooltipText(c));\n }\n getAngle(d) {\n const label = d.name;\n if (this.scaleType === ScaleType.Time) {\n return this.xScale(label);\n } else if (this.scaleType === ScaleType.Linear) {\n return this.xScale(Number(label));\n }\n return this.xScale(label);\n }\n getRadius(d) {\n return this.yScale(d.value);\n }\n getLineGenerator() {\n return lineRadial().angle(d => this.getAngle(d)).radius(d => this.getRadius(d)).curve(this.curve);\n }\n sortData(data) {\n if (this.scaleType === ScaleType.Linear) {\n return sortLinear(data, 'name');\n } else if (this.scaleType === ScaleType.Time) {\n return sortByTime(data, 'name');\n }\n return sortByDomain(data, 'name', 'asc', this.xScale.domain());\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item !== undefined;\n }\n isInactive(entry) {\n if (!this.activeEntries || this.activeEntries.length === 0) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name;\n });\n return item === undefined;\n }\n defaultTooltipText({\n label,\n value\n }) {\n return `\n ${escapeLabel(this.data.name)} • ${escapeLabel(label)}\n ${value.toLocaleString()}\n `;\n }\n updateGradients() {\n this.hasGradient = this.gradient || this.colors.scaleType === ScaleType.Linear;\n if (!this.hasGradient) {\n return;\n }\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n if (this.colors.scaleType === ScaleType.Linear) {\n const values = this.data.series.map(d => d.value);\n const max = Math.max(...values);\n const min = Math.min(...values);\n this.gradientStops = this.colors.getLinearGradientStops(max, min);\n } else {\n this.gradientStops = undefined;\n }\n }\n }\n PolarSeriesComponent.ɵfac = function PolarSeriesComponent_Factory(t) {\n return new (t || PolarSeriesComponent)();\n };\n PolarSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PolarSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-polar-series\", \"\"]],\n inputs: {\n name: \"name\",\n data: \"data\",\n xScale: \"xScale\",\n yScale: \"yScale\",\n colors: \"colors\",\n scaleType: \"scaleType\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n rangeFillOpacity: \"rangeFillOpacity\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipText: \"tooltipText\",\n gradient: \"gradient\",\n tooltipTemplate: \"tooltipTemplate\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c39,\n decls: 5,\n vars: 11,\n consts: [[1, \"polar-charts-series\"], [\"ngx-charts-svg-radial-gradient\", \"\", 3, \"color\", \"name\", \"startOpacity\", \"endOpacity\", \"stops\", 4, \"ngIf\"], [\"ngx-charts-line\", \"\", 1, \"polar-series-path\", 3, \"path\", \"stroke\", \"fill\", \"animations\"], [\"ngx-charts-circle\", \"\", \"class\", \"circle\", \"ngx-tooltip\", \"\", 3, \"cx\", \"cy\", \"r\", \"fill\", \"opacity\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-svg-radial-gradient\", \"\", 3, \"color\", \"name\", \"startOpacity\", \"endOpacity\", \"stops\"], [\"ngx-charts-circle\", \"\", \"ngx-tooltip\", \"\", 1, \"circle\", 3, \"select\", \"activate\", \"deactivate\", \"cx\", \"cy\", \"r\", \"fill\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"]],\n template: function PolarSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 0)(1, \"defs\");\n i0.ɵɵtemplate(2, PolarSeriesComponent__svg_g_2_Template, 1, 5, \"g\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(3, \"g\", 2);\n i0.ɵɵtemplate(4, PolarSeriesComponent__svg_g_4_Template, 1, 12, \"g\", 3);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.hasGradient);\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"active\", ctx.active)(\"inactive\", ctx.inactive);\n i0.ɵɵproperty(\"path\", ctx.path)(\"stroke\", ctx.hasGradient ? ctx.gradientUrl : ctx.seriesColor)(\"fill\", ctx.hasGradient ? ctx.gradientUrl : ctx.seriesColor)(\"animations\", ctx.animations);\n i0.ɵɵattribute(\"fill-opacity\", ctx.rangeFillOpacity);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.circles);\n }\n },\n dependencies: [SvgRadialGradientComponent, LineComponent, CircleComponent, i2.NgIf, i2.NgForOf, TooltipDirective],\n encapsulation: 2,\n changeDetection: 0\n });\n return PolarSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst twoPI = 2 * Math.PI;\nlet PolarChartComponent = /*#__PURE__*/(() => {\n class PolarChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.showGridLines = true;\n this.curve = curveCardinalClosed;\n this.activeEntries = [];\n this.rangeFillOpacity = 0.15;\n this.trimYAxisTicks = true;\n this.maxYAxisTickLength = 16;\n this.roundDomains = false;\n this.tooltipDisabled = false;\n this.showSeriesOnHover = true;\n this.gradient = false;\n this.yAxisMinScale = 0;\n this.labelTrim = true;\n this.labelTrimSize = 10;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n // series: any; // ???\n this.margin = [10, 20, 10, 20];\n this.xAxisHeight = 0;\n this.yAxisWidth = 0;\n this.orientation = Orientation;\n this.isSSR = false;\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.isSSR = true;\n }\n }\n update() {\n super.update();\n this.setDims();\n this.setScales();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n this.setTicks();\n }\n setDims() {\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showXAxis: this.xAxis,\n showYAxis: this.yAxis,\n xAxisHeight: this.xAxisHeight,\n yAxisWidth: this.yAxisWidth,\n showXLabel: this.showXAxisLabel,\n showYLabel: this.showYAxisLabel,\n showLegend: this.legend,\n legendType: this.schemeType,\n legendPosition: this.legendPosition\n });\n const halfWidth = Math.floor(this.dims.width / 2);\n const halfHeight = Math.floor(this.dims.height / 2);\n const outerRadius = this.outerRadius = Math.min(halfHeight / 1.5, halfWidth / 1.5);\n const yOffset = Math.max(0, halfHeight - outerRadius);\n this.yAxisDims = {\n ...this.dims,\n width: halfWidth\n };\n this.transform = `translate(${this.dims.xOffset}, ${this.margin[0]})`;\n this.transformYAxis = `translate(0, ${yOffset})`;\n this.labelOffset = this.dims.height + 40;\n this.transformPlot = `translate(${halfWidth}, ${halfHeight})`;\n }\n setScales() {\n const xValues = this.getXValues();\n this.scaleType = getScaleType(xValues);\n this.xDomain = this.filteredDomain || this.getXDomain(xValues);\n this.yDomain = this.getYDomain();\n this.seriesDomain = this.getSeriesDomain();\n this.xScale = this.getXScale(this.xDomain, twoPI);\n this.yScale = this.getYScale(this.yDomain, this.outerRadius);\n this.yAxisScale = this.getYScale(this.yDomain.reverse(), this.outerRadius);\n }\n setTicks() {\n let tickFormat;\n if (this.xAxisTickFormatting) {\n tickFormat = this.xAxisTickFormatting;\n } else if (this.xScale.tickFormat) {\n tickFormat = this.xScale.tickFormat.apply(this.xScale, [5]);\n } else {\n tickFormat = d => {\n if (isDate(d)) {\n return d.toLocaleDateString();\n }\n return d.toLocaleString();\n };\n }\n const outerRadius = this.outerRadius;\n const s = 1.1;\n this.thetaTicks = this.xDomain.map(d => {\n const startAngle = this.xScale(d);\n const dd = s * outerRadius * (startAngle > Math.PI ? -1 : 1);\n const label = tickFormat(d);\n const startPos = [outerRadius * Math.sin(startAngle), -outerRadius * Math.cos(startAngle)];\n const pos = [dd, s * startPos[1]];\n return {\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle: startAngle,\n value: outerRadius,\n label,\n startPos,\n pos\n };\n });\n const minDistance = 10;\n /* from pie chart, abstract out -*/\n for (let i = 0; i < this.thetaTicks.length - 1; i++) {\n const a = this.thetaTicks[i];\n for (let j = i + 1; j < this.thetaTicks.length; j++) {\n const b = this.thetaTicks[j];\n // if they're on the same side\n if (b.pos[0] * a.pos[0] > 0) {\n // if they're overlapping\n const o = minDistance - Math.abs(b.pos[1] - a.pos[1]);\n if (o > 0) {\n // push the second up or down\n b.pos[1] += Math.sign(b.pos[0]) * o;\n }\n }\n }\n }\n this.radiusTicks = this.yAxisScale.ticks(Math.floor(this.dims.height / 50)).map(d => this.yScale(d));\n }\n getXValues() {\n const values = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (!values.includes(d.name)) {\n values.push(d.name);\n }\n }\n }\n return values;\n }\n getXDomain(values = this.getXValues()) {\n if (this.scaleType === ScaleType.Time) {\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min, max];\n } else if (this.scaleType === ScaleType.Linear) {\n values = values.map(v => Number(v));\n const min = Math.min(...values);\n const max = Math.max(...values);\n return [min, max];\n }\n return values;\n }\n getYValues() {\n const domain = [];\n for (const results of this.results) {\n for (const d of results.series) {\n if (domain.indexOf(d.value) < 0) {\n domain.push(d.value);\n }\n if (d.min !== undefined) {\n if (domain.indexOf(d.min) < 0) {\n domain.push(d.min);\n }\n }\n if (d.max !== undefined) {\n if (domain.indexOf(d.max) < 0) {\n domain.push(d.max);\n }\n }\n }\n }\n return domain;\n }\n getYDomain(domain = this.getYValues()) {\n let min = Math.min(...domain);\n const max = Math.max(this.yAxisMinScale, ...domain);\n min = Math.max(0, min);\n if (!this.autoScale) {\n min = Math.min(0, min);\n }\n return [min, max];\n }\n getSeriesDomain() {\n return this.results.map(d => d.name);\n }\n getXScale(domain, width) {\n switch (this.scaleType) {\n case ScaleType.Time:\n return scaleTime().range([0, width]).domain(domain);\n case ScaleType.Linear:\n const scale = scaleLinear().range([0, width]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n default:\n return scalePoint().range([0, width - twoPI / domain.length]).padding(0).domain(domain);\n }\n }\n getYScale(domain, height) {\n const scale = scaleLinear().range([0, height]).domain(domain);\n return this.roundDomains ? scale.nice() : scale;\n }\n onClick(data, series) {\n if (series) {\n data.series = series.name;\n }\n this.select.emit(data);\n }\n setColors() {\n const domain = this.schemeType === ScaleType.Ordinal ? this.seriesDomain : this.yDomain.reverse();\n this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n }\n getLegendOptions() {\n if (this.schemeType === ScaleType.Ordinal) {\n return {\n scaleType: this.schemeType,\n colors: this.colors,\n domain: this.seriesDomain,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n return {\n scaleType: this.schemeType,\n colors: this.colors.scale,\n domain: this.yDomain,\n title: undefined,\n position: this.legendPosition\n };\n }\n updateYAxisWidth({\n width\n }) {\n this.yAxisWidth = width;\n this.update();\n }\n updateXAxisHeight({\n height\n }) {\n this.xAxisHeight = height;\n this.update();\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = this.showSeriesOnHover ? [item, ...this.activeEntries] : this.activeEntries;\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n deactivateAll() {\n this.activeEntries = [...this.activeEntries];\n for (const entry of this.activeEntries) {\n this.deactivate.emit({\n value: entry,\n entries: []\n });\n }\n this.activeEntries = [];\n }\n trackBy(index, item) {\n return `${item.name}`;\n }\n }\n PolarChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵPolarChartComponent_BaseFactory;\n return function PolarChartComponent_Factory(t) {\n return (ɵPolarChartComponent_BaseFactory || (ɵPolarChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(PolarChartComponent)))(t || PolarChartComponent);\n };\n })();\n PolarChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PolarChartComponent,\n selectors: [[\"ngx-charts-polar-chart\"]],\n contentQueries: function PolarChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n xAxis: \"xAxis\",\n yAxis: \"yAxis\",\n showXAxisLabel: \"showXAxisLabel\",\n showYAxisLabel: \"showYAxisLabel\",\n xAxisLabel: \"xAxisLabel\",\n yAxisLabel: \"yAxisLabel\",\n autoScale: \"autoScale\",\n showGridLines: \"showGridLines\",\n curve: \"curve\",\n activeEntries: \"activeEntries\",\n schemeType: \"schemeType\",\n rangeFillOpacity: \"rangeFillOpacity\",\n trimYAxisTicks: \"trimYAxisTicks\",\n maxYAxisTickLength: \"maxYAxisTickLength\",\n xAxisTickFormatting: \"xAxisTickFormatting\",\n yAxisTickFormatting: \"yAxisTickFormatting\",\n roundDomains: \"roundDomains\",\n tooltipDisabled: \"tooltipDisabled\",\n showSeriesOnHover: \"showSeriesOnHover\",\n gradient: \"gradient\",\n yAxisMinScale: \"yAxisMinScale\",\n labelTrim: \"labelTrim\",\n labelTrimSize: \"labelTrimSize\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 10,\n vars: 17,\n consts: [[3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"polar-chart\", \"chart\"], [\"cx\", \"0\", \"cy\", \"0\", 1, \"polar-chart-background\"], [4, \"ngIf\"], [\"ngx-charts-y-axis\", \"\", 3, \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\", \"dimensionsChanged\", 4, \"ngIf\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\", 4, \"ngIf\"], [\"class\", \"gridline-path radial-gridline-path\", \"cx\", \"0\", \"cy\", \"0\", 4, \"ngFor\", \"ngForOf\"], [\"cx\", \"0\", \"cy\", \"0\", 1, \"gridline-path\", \"radial-gridline-path\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"label\", \"max\", \"value\", \"explodeSlices\", \"animations\", \"labelTrim\", \"labelTrimSize\", 4, \"ngFor\", \"ngForOf\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"label\", \"max\", \"value\", \"explodeSlices\", \"animations\", \"labelTrim\", \"labelTrimSize\"], [\"ngx-charts-y-axis\", \"\", 3, \"dimensionsChanged\", \"yScale\", \"dims\", \"showGridLines\", \"showLabel\", \"labelText\", \"trimTicks\", \"maxTickLength\", \"tickFormatting\"], [\"ngx-charts-axis-label\", \"\", 3, \"label\", \"offset\", \"orient\", \"height\", \"width\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-polar-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"gradient\", \"xScale\", \"yScale\", \"colors\", \"data\", \"activeEntries\", \"scaleType\", \"curve\", \"rangeFillOpacity\", \"animations\", \"tooltipDisabled\", \"tooltipTemplate\"]],\n template: function PolarChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelClick\", function PolarChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function PolarChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function PolarChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1)(2, \"g\");\n i0.ɵɵelement(3, \"circle\", 2);\n i0.ɵɵtemplate(4, PolarChartComponent__svg_g_4_Template, 2, 1, \"g\", 3)(5, PolarChartComponent__svg_g_5_Template, 2, 1, \"g\", 3);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(6, PolarChartComponent__svg_g_6_Template, 1, 9, \"g\", 4)(7, PolarChartComponent__svg_g_7_Template, 1, 5, \"g\", 5)(8, PolarChartComponent__svg_g_8_Template, 2, 3, \"g\", 3)(9, PolarChartComponent__svg_g_9_Template, 2, 3, \"g\", 3);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(14, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transformPlot);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"r\", ctx.outerRadius);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showGridLines);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.yAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.xAxis && ctx.showXAxisLabel);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.isSSR);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.isSSR);\n }\n },\n dependencies: [ChartComponent, PieLabelComponent, YAxisComponent, AxisLabelComponent, PolarSeriesComponent, i2.NgIf, i2.NgForOf],\n styles: [_c25, \".pie-label{font-size:11px}.pie-label.animation{-webkit-animation:.75s ease-in fadeIn;animation:.75s ease-in fadeIn}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pie-label-line{stroke-dasharray:100%}.pie-label-line.animation{-webkit-animation:3s linear drawOut;animation:3s linear drawOut;transition:d .75s}@-webkit-keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes drawOut{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}\\n\", \".polar-chart .polar-chart-background{fill:none}.polar-chart .radial-gridline-path{stroke-dasharray:10 10;fill:none}.polar-chart .pie-label-line{stroke:#2f3646}.polar-charts-series .polar-series-area,.polar-series-path{pointer-events:none}\\n\"],\n encapsulation: 2,\n data: {\n animation: [trigger('animationState', [transition(':leave', [style({\n opacity: 1\n }), animate(500, style({\n opacity: 0\n }))])])]\n },\n changeDetection: 0\n });\n return PolarChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PieArcComponent = /*#__PURE__*/(() => {\n class PieArcComponent {\n constructor(element) {\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.cornerRadius = 0;\n this.explodeSlices = false;\n this.gradient = false;\n this.animate = true;\n this.pointerEvents = true;\n this.isActive = false;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dblclick = new EventEmitter();\n this.barOrientation = BarOrientation;\n this.initialized = false;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n getGradient() {\n return this.gradient ? this.gradientFill : this.fill;\n }\n getPointerEvents() {\n return this.pointerEvents ? 'auto' : 'none';\n }\n update() {\n const calc = this.calculateArc();\n this.startOpacity = 0.5;\n this.radialGradientId = 'linearGrad' + id().toString();\n this.gradientFill = `url(#${this.radialGradientId})`;\n if (this.animate) {\n if (this.initialized) {\n this.updateAnimation();\n } else {\n this.loadAnimation();\n this.initialized = true;\n }\n } else {\n this.path = calc.startAngle(this.startAngle).endAngle(this.endAngle)();\n }\n }\n calculateArc() {\n let outerRadius = this.outerRadius;\n if (this.explodeSlices && this.innerRadius === 0) {\n outerRadius = this.outerRadius * this.value / this.max;\n }\n return arc().innerRadius(this.innerRadius).outerRadius(outerRadius).cornerRadius(this.cornerRadius);\n }\n loadAnimation() {\n const node = select(this.element).selectAll('.arc').data([{\n startAngle: this.startAngle,\n endAngle: this.endAngle\n }]);\n const calc = this.calculateArc();\n node.transition().attrTween('d', function (d) {\n this._current = this._current || d;\n const copyOfD = Object.assign({}, d);\n copyOfD.endAngle = copyOfD.startAngle;\n const interpolater = interpolate(copyOfD, copyOfD);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n }).transition().duration(750).attrTween('d', function (d) {\n this._current = this._current || d;\n const interpolater = interpolate(this._current, d);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n });\n }\n updateAnimation() {\n const node = select(this.element).selectAll('.arc').data([{\n startAngle: this.startAngle,\n endAngle: this.endAngle\n }]);\n const calc = this.calculateArc();\n node.transition().duration(750).attrTween('d', function (d) {\n this._current = this._current || d;\n const interpolater = interpolate(this._current, d);\n this._current = interpolater(0);\n return function (t) {\n return calc(interpolater(t));\n };\n });\n }\n onClick() {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(() => this.select.emit(this.data), 200);\n }\n onDblClick(event) {\n event.preventDefault();\n event.stopPropagation();\n clearTimeout(this._timeout);\n this.dblclick.emit({\n data: this.data,\n nativeEvent: event\n });\n }\n }\n PieArcComponent.ɵfac = function PieArcComponent_Factory(t) {\n return new (t || PieArcComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n PieArcComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PieArcComponent,\n selectors: [[\"g\", \"ngx-charts-pie-arc\", \"\"]],\n inputs: {\n fill: \"fill\",\n startAngle: \"startAngle\",\n endAngle: \"endAngle\",\n innerRadius: \"innerRadius\",\n outerRadius: \"outerRadius\",\n cornerRadius: \"cornerRadius\",\n value: \"value\",\n max: \"max\",\n data: \"data\",\n explodeSlices: \"explodeSlices\",\n gradient: \"gradient\",\n animate: \"animate\",\n pointerEvents: \"pointerEvents\",\n isActive: \"isActive\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\",\n dblclick: \"dblclick\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c40,\n decls: 3,\n vars: 7,\n consts: [[1, \"arc-group\"], [4, \"ngIf\"], [1, \"arc\", 3, \"click\", \"dblclick\", \"mouseenter\", \"mouseleave\"], [\"ngx-charts-svg-radial-gradient\", \"\", 3, \"color\", \"name\", \"startOpacity\"]],\n template: function PieArcComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 0);\n i0.ɵɵtemplate(1, PieArcComponent__svg_defs_1_Template, 2, 3, \"defs\", 1);\n i0.ɵɵelementStart(2, \"path\", 2);\n i0.ɵɵlistener(\"click\", function PieArcComponent_Template_path_click_2_listener() {\n return ctx.onClick();\n })(\"dblclick\", function PieArcComponent_Template_path_dblclick_2_listener($event) {\n return ctx.onDblClick($event);\n })(\"mouseenter\", function PieArcComponent_Template_path_mouseenter_2_listener() {\n return ctx.activate.emit(ctx.data);\n })(\"mouseleave\", function PieArcComponent_Template_path_mouseleave_2_listener() {\n return ctx.deactivate.emit(ctx.data);\n });\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.gradient);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"pointer-events\", ctx.getPointerEvents());\n i0.ɵɵclassProp(\"active\", ctx.isActive);\n i0.ɵɵattribute(\"d\", ctx.path)(\"fill\", ctx.getGradient());\n }\n },\n dependencies: [SvgRadialGradientComponent, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return PieArcComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PieSeriesComponent = /*#__PURE__*/(() => {\n class PieSeriesComponent {\n constructor() {\n this.series = [];\n this.innerRadius = 60;\n this.outerRadius = 80;\n this.trimLabels = true;\n this.maxLabelLength = 10;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.dblclick = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n const pieGenerator = pie().value(d => d.value).sort(null);\n const arcData = pieGenerator(this.series);\n this.max = max(arcData, d => {\n return d.value;\n });\n this.data = this.calculateLabelPositions(arcData);\n this.tooltipText = this.tooltipText || this.defaultTooltipText;\n }\n midAngle(d) {\n return d.startAngle + (d.endAngle - d.startAngle) / 2;\n }\n outerArc() {\n const factor = 1.5;\n return arc().innerRadius(this.outerRadius * factor).outerRadius(this.outerRadius * factor);\n }\n calculateLabelPositions(pieData) {\n const factor = 1.5;\n const minDistance = 10;\n const labelPositions = pieData;\n labelPositions.forEach(d => {\n d.pos = this.outerArc().centroid(d);\n d.pos[0] = factor * this.outerRadius * (this.midAngle(d) < Math.PI ? 1 : -1);\n });\n for (let i = 0; i < labelPositions.length - 1; i++) {\n const a = labelPositions[i];\n if (!this.labelVisible(a)) {\n continue;\n }\n for (let j = i + 1; j < labelPositions.length; j++) {\n const b = labelPositions[j];\n if (!this.labelVisible(b)) {\n continue;\n }\n // if they're on the same side\n if (b.pos[0] * a.pos[0] > 0) {\n // if they're overlapping\n const o = minDistance - Math.abs(b.pos[1] - a.pos[1]);\n if (o > 0) {\n // push the second up or down\n b.pos[1] += Math.sign(b.pos[0]) * o;\n }\n }\n }\n }\n return labelPositions;\n }\n labelVisible(myArc) {\n return this.showLabels && myArc.endAngle - myArc.startAngle > Math.PI / 30;\n }\n getTooltipTitle(a) {\n return this.tooltipTemplate ? undefined : this.tooltipText(a);\n }\n labelText(myArc) {\n if (this.labelFormatting) {\n return this.labelFormatting(myArc.data.name);\n }\n return this.label(myArc);\n }\n label(myArc) {\n return formatLabel(myArc.data.name);\n }\n defaultTooltipText(myArc) {\n const label = this.label(myArc);\n const val = formatLabel(myArc.data.value);\n return `\n ${escapeLabel(label)}\n ${val}\n `;\n }\n color(myArc) {\n return this.colors.getColor(this.label(myArc));\n }\n trackBy(index, item) {\n return item.data.name;\n }\n onClick(data) {\n this.select.emit(data);\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n }\n PieSeriesComponent.ɵfac = function PieSeriesComponent_Factory(t) {\n return new (t || PieSeriesComponent)();\n };\n PieSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PieSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-pie-series\", \"\"]],\n inputs: {\n colors: \"colors\",\n series: \"series\",\n dims: \"dims\",\n innerRadius: \"innerRadius\",\n outerRadius: \"outerRadius\",\n explodeSlices: \"explodeSlices\",\n showLabels: \"showLabels\",\n gradient: \"gradient\",\n activeEntries: \"activeEntries\",\n labelFormatting: \"labelFormatting\",\n trimLabels: \"trimLabels\",\n maxLabelLength: \"maxLabelLength\",\n tooltipText: \"tooltipText\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\",\n dblclick: \"dblclick\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c41,\n decls: 1,\n vars: 2,\n consts: [[4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"color\", \"label\", \"labelTrim\", \"labelTrimSize\", \"max\", \"value\", \"explodeSlices\", \"animations\", 4, \"ngIf\"], [\"ngx-charts-pie-arc\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"dblclick\", \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"fill\", \"value\", \"gradient\", \"data\", \"max\", \"explodeSlices\", \"isActive\", \"animate\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"], [\"ngx-charts-pie-label\", \"\", 3, \"data\", \"radius\", \"color\", \"label\", \"labelTrim\", \"labelTrimSize\", \"max\", \"value\", \"explodeSlices\", \"animations\"]],\n template: function PieSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, PieSeriesComponent__svg_g_0_Template, 3, 19, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.data)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [PieLabelComponent, PieArcComponent, i2.NgForOf, i2.NgIf, TooltipDirective],\n encapsulation: 2,\n changeDetection: 0\n });\n return PieSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet AdvancedPieChartComponent = /*#__PURE__*/(() => {\n class AdvancedPieChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.label = 'Total';\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [20, 20, 20, 20];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width * 4 / 12.0,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.setColors();\n const xOffset = this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.legendWidth = this.width - this.dims.width - this.margin[1];\n this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2.5;\n this.innerRadius = this.outerRadius * 0.75;\n this.transform = `translate(${xOffset} , ${yOffset})`;\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n AdvancedPieChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵAdvancedPieChartComponent_BaseFactory;\n return function AdvancedPieChartComponent_Factory(t) {\n return (ɵAdvancedPieChartComponent_BaseFactory || (ɵAdvancedPieChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(AdvancedPieChartComponent)))(t || AdvancedPieChartComponent);\n };\n })();\n AdvancedPieChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AdvancedPieChartComponent,\n selectors: [[\"ngx-charts-advanced-pie-chart\"]],\n contentQueries: function AdvancedPieChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n gradient: \"gradient\",\n activeEntries: \"activeEntries\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipText: \"tooltipText\",\n label: \"label\",\n valueFormatting: \"valueFormatting\",\n nameFormatting: \"nameFormatting\",\n percentageFormatting: \"percentageFormatting\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 7,\n vars: 37,\n consts: [[1, \"advanced-pie\", \"chart\"], [3, \"view\", \"showLegend\", \"animations\"], [1, \"pie\", \"chart\"], [\"ngx-charts-pie-series\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"colors\", \"series\", \"innerRadius\", \"activeEntries\", \"outerRadius\", \"gradient\", \"tooltipDisabled\", \"tooltipTemplate\", \"tooltipText\", \"animations\"], [1, \"advanced-pie-legend-wrapper\"], [3, \"select\", \"activate\", \"deactivate\", \"data\", \"colors\", \"width\", \"label\", \"animations\", \"valueFormatting\", \"labelFormatting\", \"percentageFormatting\"]],\n template: function AdvancedPieChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\")(1, \"div\", 0)(2, \"ngx-charts-chart\", 1);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(3, \"g\", 2)(4, \"g\", 3);\n i0.ɵɵlistener(\"select\", function AdvancedPieChartComponent_Template_g_select_4_listener($event) {\n return ctx.onClick($event);\n })(\"activate\", function AdvancedPieChartComponent_Template_g_activate_4_listener($event) {\n return ctx.onActivate($event);\n })(\"deactivate\", function AdvancedPieChartComponent_Template_g_deactivate_4_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵelementEnd()()()();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelementStart(5, \"div\", 4)(6, \"ngx-charts-advanced-legend\", 5);\n i0.ɵɵlistener(\"select\", function AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_select_6_listener($event) {\n return ctx.onClick($event);\n })(\"activate\", function AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_activate_6_listener($event) {\n return ctx.onActivate($event, true);\n })(\"deactivate\", function AdvancedPieChartComponent_Template_ngx_charts_advanced_legend_deactivate_6_listener($event) {\n return ctx.onDeactivate($event, true);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"width\", ctx.width, \"px\")(\"height\", ctx.height, \"px\");\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"width\", ctx.dims.width, \"px\")(\"height\", ctx.dims.height, \"px\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(34, _c24, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"colors\", ctx.colors)(\"series\", ctx.results)(\"innerRadius\", ctx.innerRadius)(\"activeEntries\", ctx.activeEntries)(\"outerRadius\", ctx.outerRadius)(\"gradient\", ctx.gradient)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipText\", ctx.tooltipText)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"width\", ctx.width - ctx.dims.width, \"px\")(\"height\", ctx.height, \"px\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"data\", ctx.results)(\"colors\", ctx.colors)(\"width\", ctx.width - ctx.dims.width - ctx.margin[1])(\"label\", ctx.label)(\"animations\", ctx.animations)(\"valueFormatting\", ctx.valueFormatting)(\"labelFormatting\", ctx.nameFormatting)(\"percentageFormatting\", ctx.percentageFormatting);\n }\n },\n dependencies: [ChartComponent, PieSeriesComponent, AdvancedLegendComponent],\n styles: [_c25, \".advanced-pie{display:inline-block;float:left}.advanced-pie-legend-wrapper{display:inline-block}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return AdvancedPieChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PieChartComponent = /*#__PURE__*/(() => {\n class PieChartComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.labels = false;\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.explodeSlices = false;\n this.doughnut = false;\n this.arcWidth = 0.25;\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.trimLabels = true;\n this.maxLabelLength = 10;\n this.dblclick = new EventEmitter();\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n }\n update() {\n super.update();\n if (this.labels && this.hasNoOptionalMarginsSet()) {\n this.margins = [30, 80, 30, 80];\n } else if (!this.labels && this.hasNoOptionalMarginsSet()) {\n // default value for margins\n this.margins = [20, 20, 20, 20];\n }\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margins,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.formatDates();\n const xOffset = this.margins[3] + this.dims.width / 2;\n const yOffset = this.margins[0] + this.dims.height / 2;\n this.translation = `translate(${xOffset}, ${yOffset})`;\n this.outerRadius = Math.min(this.dims.width, this.dims.height);\n if (this.labels) {\n // make room for labels\n this.outerRadius /= 3;\n } else {\n this.outerRadius /= 2;\n }\n this.innerRadius = 0;\n if (this.doughnut) {\n this.innerRadius = this.outerRadius * (1 - this.arcWidth);\n }\n this.domain = this.getDomain();\n // sort data according to domain\n this.data = this.results.sort((a, b) => {\n return this.domain.indexOf(a.name) - this.domain.indexOf(b.name);\n });\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n getLegendOptions() {\n return {\n scaleType: ScaleType.Ordinal,\n domain: this.domain,\n colors: this.colors,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n hasNoOptionalMarginsSet() {\n return !this.margins || this.margins.length <= 0;\n }\n }\n PieChartComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵPieChartComponent_BaseFactory;\n return function PieChartComponent_Factory(t) {\n return (ɵPieChartComponent_BaseFactory || (ɵPieChartComponent_BaseFactory = i0.ɵɵgetInheritedFactory(PieChartComponent)))(t || PieChartComponent);\n };\n })();\n PieChartComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PieChartComponent,\n selectors: [[\"ngx-charts-pie-chart\"]],\n contentQueries: function PieChartComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n labels: \"labels\",\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n explodeSlices: \"explodeSlices\",\n doughnut: \"doughnut\",\n arcWidth: \"arcWidth\",\n gradient: \"gradient\",\n activeEntries: \"activeEntries\",\n tooltipDisabled: \"tooltipDisabled\",\n labelFormatting: \"labelFormatting\",\n trimLabels: \"trimLabels\",\n maxLabelLength: \"maxLabelLength\",\n tooltipText: \"tooltipText\",\n margins: \"margins\"\n },\n outputs: {\n dblclick: \"dblclick\",\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 3,\n vars: 24,\n consts: [[3, \"legendLabelActivate\", \"legendLabelDeactivate\", \"legendLabelClick\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"pie-chart\", \"chart\"], [\"ngx-charts-pie-series\", \"\", 3, \"dblclick\", \"select\", \"activate\", \"deactivate\", \"colors\", \"series\", \"showLabels\", \"labelFormatting\", \"trimLabels\", \"maxLabelLength\", \"activeEntries\", \"innerRadius\", \"outerRadius\", \"explodeSlices\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipTemplate\", \"tooltipText\"]],\n template: function PieChartComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵlistener(\"legendLabelActivate\", function PieChartComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event, true);\n })(\"legendLabelDeactivate\", function PieChartComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event, true);\n })(\"legendLabelClick\", function PieChartComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n i0.ɵɵlistener(\"dblclick\", function PieChartComponent_Template_g_dblclick_2_listener($event) {\n return ctx.dblclick.emit($event);\n })(\"select\", function PieChartComponent_Template_g_select_2_listener($event) {\n return ctx.onClick($event);\n })(\"activate\", function PieChartComponent_Template_g_activate_2_listener($event) {\n return ctx.onActivate($event);\n })(\"deactivate\", function PieChartComponent_Template_g_deactivate_2_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(21, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.translation);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"colors\", ctx.colors)(\"series\", ctx.data)(\"showLabels\", ctx.labels)(\"labelFormatting\", ctx.labelFormatting)(\"trimLabels\", ctx.trimLabels)(\"maxLabelLength\", ctx.maxLabelLength)(\"activeEntries\", ctx.activeEntries)(\"innerRadius\", ctx.innerRadius)(\"outerRadius\", ctx.outerRadius)(\"explodeSlices\", ctx.explodeSlices)(\"gradient\", ctx.gradient)(\"animations\", ctx.animations)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipText\", ctx.tooltipText);\n }\n },\n dependencies: [ChartComponent, PieSeriesComponent],\n styles: [_c25, _c42],\n encapsulation: 2,\n changeDetection: 0\n });\n return PieChartComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction gridSize(dims, len, minWidth) {\n let rows = 1;\n let cols = len;\n const width = dims.width;\n if (width > minWidth) {\n while (width / cols < minWidth) {\n rows += 1;\n cols = Math.ceil(len / rows);\n }\n }\n return [cols, rows];\n}\nfunction gridLayout(dims, data, minWidth, designatedTotal) {\n const xScale = scaleBand();\n const yScale = scaleBand();\n const width = dims.width;\n const height = dims.height;\n const [columns, rows] = gridSize(dims, data.length, minWidth);\n const xDomain = [];\n const yDomain = [];\n for (let i = 0; i < rows; i++) {\n yDomain.push(i);\n }\n for (let i = 0; i < columns; i++) {\n xDomain.push(i);\n }\n xScale.domain(xDomain);\n yScale.domain(yDomain);\n xScale.rangeRound([0, width], 0.1);\n yScale.rangeRound([0, height], 0.1);\n const res = [];\n const total = designatedTotal ? designatedTotal : getTotal(data);\n const cardWidth = xScale.bandwidth();\n const cardHeight = yScale.bandwidth();\n for (let i = 0; i < data.length; i++) {\n res[i] = {};\n res[i].data = {\n name: data[i] ? data[i].name : '',\n value: data[i] ? data[i].value : undefined,\n extra: data[i] ? data[i].extra : undefined,\n label: data[i] ? data[i].label : ''\n };\n res[i].x = xScale(i % columns);\n res[i].y = yScale(Math.floor(i / columns));\n res[i].width = cardWidth;\n res[i].height = cardHeight;\n res[i].data.percent = total > 0 ? res[i].data.value / total : 0;\n res[i].data.total = total;\n }\n return res;\n}\nfunction getTotal(results) {\n return results.map(d => d ? d.value : 0).reduce((sum, val) => sum + val, 0);\n}\nlet PieGridSeriesComponent = /*#__PURE__*/(() => {\n class PieGridSeriesComponent {\n constructor(element) {\n this.innerRadius = 70;\n this.outerRadius = 80;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.layout = pie().value(d => d.data.value).sort(null);\n this.arcs = this.getArcs();\n }\n getArcs() {\n return this.layout(this.data).map((arc, index) => {\n const label = arc.data.data.name;\n const other = arc.data.data.other;\n if (index === 0) {\n arc.startAngle = 0;\n }\n const color = this.colors(label);\n return {\n data: arc.data.data,\n class: 'arc ' + 'arc' + index,\n fill: color,\n startAngle: other ? 0 : arc.startAngle,\n endAngle: arc.endAngle,\n animate: this.animations && !other,\n pointerEvents: !other\n };\n });\n }\n onClick(data) {\n this.select.emit(this.data[0].data);\n }\n trackBy(index, item) {\n return item.data.name;\n }\n label(arc) {\n return arc.data.name;\n }\n color(arc) {\n return this.colors(this.label(arc));\n }\n }\n PieGridSeriesComponent.ɵfac = function PieGridSeriesComponent_Factory(t) {\n return new (t || PieGridSeriesComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n PieGridSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PieGridSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-pie-grid-series\", \"\"]],\n inputs: {\n colors: \"colors\",\n data: \"data\",\n innerRadius: \"innerRadius\",\n outerRadius: \"outerRadius\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c43,\n decls: 2,\n vars: 2,\n consts: [[1, \"pie-grid-arcs\"], [\"ngx-charts-pie-arc\", \"\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"fill\", \"value\", \"data\", \"gradient\", \"pointerEvents\", \"animate\", \"select\", \"activate\", \"deactivate\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-pie-arc\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"fill\", \"value\", \"data\", \"gradient\", \"pointerEvents\", \"animate\"]],\n template: function PieGridSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 0);\n i0.ɵɵtemplate(1, PieGridSeriesComponent__svg_g_1_Template, 1, 11, \"g\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.arcs)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [PieArcComponent, i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return PieGridSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PieGridComponent = /*#__PURE__*/(() => {\n class PieGridComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.tooltipDisabled = false;\n this.label = 'Total';\n this.minWidth = 150;\n this.activeEntries = [];\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.margin = [20, 20, 20, 20];\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.data = gridLayout(this.dims, this.results, this.minWidth, this.designatedTotal);\n this.transform = `translate(${this.margin[3]} , ${this.margin[0]})`;\n this.series = this.getSeries();\n this.setColors();\n this.tooltipText = this.tooltipText || this.defaultTooltipText;\n }\n defaultTooltipText({\n data\n }) {\n const label = trimLabel(formatLabel(data.name));\n const val = data.value.toLocaleString();\n return `\n ${label}\n ${val}\n `;\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n getSeries() {\n const total = this.designatedTotal ? this.designatedTotal : this.getTotal();\n return this.data.map(d => {\n const baselineLabelHeight = 20;\n const padding = 10;\n const name = d.data.name;\n const label = formatLabel(name);\n const value = d.data.value;\n const radius = min([d.width - padding, d.height - baselineLabelHeight]) / 2 - 5;\n const innerRadius = radius * 0.9;\n let count = 0;\n const colors = () => {\n count += 1;\n if (count === 1) {\n return 'rgba(100,100,100,0.3)';\n } else {\n return this.colorScale.getColor(label);\n }\n };\n const xPos = d.x + (d.width - padding) / 2;\n const yPos = d.y + (d.height - baselineLabelHeight) / 2;\n return {\n transform: `translate(${xPos}, ${yPos})`,\n colors,\n innerRadius,\n outerRadius: radius,\n name,\n label: trimLabel(label),\n total: value,\n value,\n percent: format('.1%')(d.data.percent),\n data: [d, {\n data: {\n other: true,\n value: total - value,\n name: d.data.name\n }\n }]\n };\n });\n }\n getTotal() {\n return this.results.map(d => d.value).reduce((sum, d) => sum + d, 0);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colorScale = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n onActivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item, fromLegend = false) {\n item = this.results.find(d => {\n if (fromLegend) {\n return d.label === item.name;\n } else {\n return d.name === item.name;\n }\n });\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value && d.series === item.series;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n }\n PieGridComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵPieGridComponent_BaseFactory;\n return function PieGridComponent_Factory(t) {\n return (ɵPieGridComponent_BaseFactory || (ɵPieGridComponent_BaseFactory = i0.ɵɵgetInheritedFactory(PieGridComponent)))(t || PieGridComponent);\n };\n })();\n PieGridComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PieGridComponent,\n selectors: [[\"ngx-charts-pie-grid\"]],\n contentQueries: function PieGridComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n designatedTotal: \"designatedTotal\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipText: \"tooltipText\",\n label: \"label\",\n minWidth: \"minWidth\",\n activeEntries: \"activeEntries\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 3,\n vars: 8,\n consts: [[3, \"view\", \"showLegend\", \"animations\"], [1, \"pie-grid\", \"chart\"], [\"class\", \"pie-grid-item\", 4, \"ngFor\", \"ngForOf\"], [1, \"pie-grid-item\"], [\"ngx-charts-pie-grid-series\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"colors\", \"data\", \"innerRadius\", \"outerRadius\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"], [\"class\", \"label percent-label\", \"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"ngx-charts-count-up\", \"\", \"text-anchor\", \"middle\", 3, \"countTo\", \"countSuffix\", 4, \"ngIf\"], [\"class\", \"label percent-label\", \"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"text-anchor\", \"middle\", 4, \"ngIf\"], [\"dy\", \"0.5em\", \"x\", \"0\", \"y\", \"5\", \"text-anchor\", \"middle\", 1, \"label\"], [\"class\", \"label\", \"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"countPrefix\", 4, \"ngIf\"], [\"class\", \"label\", \"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", 4, \"ngIf\"], [\"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"ngx-charts-count-up\", \"\", \"text-anchor\", \"middle\", 1, \"label\", \"percent-label\", 3, \"countTo\", \"countSuffix\"], [\"dy\", \"-0.5em\", \"x\", \"0\", \"y\", \"5\", \"text-anchor\", \"middle\", 1, \"label\", \"percent-label\"], [\"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", \"ngx-charts-count-up\", \"\", 1, \"label\", 3, \"countTo\", \"countPrefix\"], [\"dy\", \"1.23em\", \"x\", \"0\", \"text-anchor\", \"middle\", 1, \"label\"]],\n template: function PieGridComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵtemplate(2, PieGridComponent__svg_g_2_Template, 8, 19, \"g\", 2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(5, _c24, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.series);\n }\n },\n dependencies: [ChartComponent, PieGridSeriesComponent, CountUpDirective, i2.NgForOf, TooltipDirective, i2.NgIf],\n styles: [_c25, \".pie-grid .arc1{opacity:.4}.pie-grid .percent-label{font-size:16px;font-weight:400}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return PieGridComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PieChartModule = /*#__PURE__*/(() => {\n class PieChartModule {}\n PieChartModule.ɵfac = function PieChartModule_Factory(t) {\n return new (t || PieChartModule)();\n };\n PieChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: PieChartModule\n });\n PieChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return PieChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet PolarChartModule = /*#__PURE__*/(() => {\n class PolarChartModule {}\n PolarChartModule.ɵfac = function PolarChartModule_Factory(t) {\n return new (t || PolarChartModule)();\n };\n PolarChartModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: PolarChartModule\n });\n PolarChartModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule, PieChartModule, LineChartModule]]\n });\n return PolarChartModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction calculateTextWidth(fontFamilyKey, text, defaultWidth = 8) {\n return text.split('').reduce((acc, curr) => {\n const width = fontFamilyKey[curr] || defaultWidth;\n return acc + width;\n }, 0);\n}\nconst VERDANA_FONT_WIDTHS_16_PX = {\n '0': 10,\n '1': 10,\n '2': 10,\n '3': 10,\n '4': 10,\n '5': 10,\n '6': 10,\n '7': 10,\n '8': 10,\n '9': 10,\n A: 11,\n B: 11,\n C: 11,\n D: 12,\n E: 10,\n F: 9,\n G: 12,\n H: 12,\n I: 7,\n J: 7,\n K: 11,\n L: 9,\n M: 13,\n N: 12,\n O: 13,\n P: 10,\n Q: 13,\n R: 11,\n S: 11,\n T: 10,\n U: 12,\n V: 11,\n W: 16,\n X: 11,\n Y: 10,\n Z: 11,\n a: 10,\n b: 10,\n c: 8,\n d: 10,\n e: 10,\n f: 6,\n g: 10,\n h: 10,\n i: 4,\n j: 6,\n k: 9,\n l: 4,\n m: 16,\n n: 10,\n o: 10,\n p: 10,\n q: 10,\n r: 7,\n s: 8,\n t: 6,\n u: 10,\n v: 9,\n w: 13,\n x: 9,\n y: 9,\n z: 8,\n '!': 6,\n '@': 16,\n '#': 13,\n $: 10,\n '%': 17,\n '^': 13,\n '&': 12,\n '*': 10,\n '(': 7,\n ')': 7,\n _: 10,\n '-': 7,\n '+': 13,\n '=': 13,\n ',': 6,\n '.': 6,\n '/': 7,\n \"'\": 4,\n ':': 7,\n '|': 7,\n '?': 9,\n ';': 7,\n '<': 13,\n '>': 13\n};\nlet CardComponent = /*#__PURE__*/(() => {\n class CardComponent {\n constructor(element, cd, zone, platformId) {\n this.cd = cd;\n this.zone = zone;\n this.platformId = platformId;\n this.animations = true;\n this.select = new EventEmitter();\n this.value = '';\n this.textFontSize = 12;\n this.textTransform = '';\n this.initialized = false;\n this.bandHeight = 10;\n this.textPadding = [10, 20, 5, 20];\n this.labelFontSize = 15;\n this.element = element.nativeElement;\n }\n ngOnChanges(changes) {\n this.update();\n }\n ngOnInit() {\n if (isPlatformServer(this.platformId)) {\n this.scaleTextSSR();\n }\n }\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId)) {\n cancelAnimationFrame(this.animationReq);\n }\n }\n update() {\n this.zone.run(() => {\n const hasValue = this.data && typeof this.data.value !== 'undefined';\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const labelFormatting = this.labelFormatting || (card => escapeLabel(trimLabel(card.label, 55)));\n this.transform = `translate(${this.x} , ${this.y})`;\n this.textWidth = Math.max(0, this.width) - this.textPadding[1] - this.textPadding[3];\n this.cardWidth = Math.max(0, this.width);\n this.cardHeight = Math.max(0, this.height);\n this.label = this.label ? this.label : this.data.name;\n const cardData = {\n label: this.label,\n data: this.data,\n value: this.data.value\n };\n this.formattedLabel = labelFormatting(cardData);\n this.transformBand = `translate(0 , ${this.cardHeight - this.bandHeight})`;\n const value = hasValue ? valueFormatting(cardData) : '';\n this.value = this.paddedValue(value);\n this.setPadding();\n this.bandPath = roundedRect(0, 0, this.cardWidth, this.bandHeight, 3, [false, false, true, true]);\n setTimeout(() => {\n if (isPlatformBrowser(this.platformId)) {\n this.scaleText();\n }\n this.value = value;\n if (hasValue && !this.initialized) {\n setTimeout(() => this.startCount(), 20);\n }\n }, 8);\n });\n }\n paddedValue(value) {\n if (this.medianSize && this.medianSize > value.length) {\n value += '\\u2007'.repeat(this.medianSize - value.length);\n }\n return value;\n }\n startCount() {\n if (!this.initialized && this.animations) {\n cancelAnimationFrame(this.animationReq);\n const val = this.data.value;\n const decs = decimalChecker(val);\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const callback = ({\n value,\n finished\n }) => {\n this.zone.run(() => {\n value = finished ? val : value;\n this.value = valueFormatting({\n label: this.label,\n data: this.data,\n value\n });\n if (!finished) {\n this.value = this.paddedValue(this.value);\n }\n this.cd.markForCheck();\n });\n };\n this.animationReq = count(0, val, decs, 1, callback);\n this.initialized = true;\n }\n }\n scaleText() {\n this.zone.run(() => {\n const {\n width,\n height\n } = this.textEl.nativeElement.getBoundingClientRect();\n if (width === 0 || height === 0) {\n return;\n }\n const textPadding = this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8;\n const availableWidth = this.cardWidth - 2 * textPadding;\n const availableHeight = this.cardHeight / 3;\n const resizeScale = Math.min(availableWidth / width, availableHeight / height);\n this.textFontSize = Math.floor(this.textFontSize * resizeScale);\n this.labelFontSize = Math.min(this.textFontSize, 15);\n this.setPadding();\n this.cd.markForCheck();\n });\n }\n scaleTextSSR() {\n const width = calculateTextWidth(VERDANA_FONT_WIDTHS_16_PX, this.value, 10);\n const height = 18;\n const textPadding = this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8;\n const availableWidth = this.cardWidth - 2 * textPadding;\n const availableHeight = this.cardHeight / 3;\n const resizeScale = Math.min(availableWidth / width, availableHeight / height);\n this.textFontSize = Math.floor(this.textFontSize * resizeScale);\n this.labelFontSize = Math.min(this.textFontSize, 15);\n this.setPadding();\n }\n setPadding() {\n this.textPadding[1] = this.textPadding[3] = this.cardWidth / 8;\n const padding = this.cardHeight / 2;\n this.textPadding[0] = padding - this.textFontSize - this.labelFontSize / 2;\n this.textPadding[2] = padding - this.labelFontSize;\n }\n onClick() {\n this.select.emit(this.data);\n }\n }\n CardComponent.ɵfac = function CardComponent_Factory(t) {\n return new (t || CardComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(PLATFORM_ID));\n };\n CardComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CardComponent,\n selectors: [[\"g\", \"ngx-charts-card\", \"\"]],\n viewQuery: function CardComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c45, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.textEl = _t.first);\n }\n },\n inputs: {\n color: \"color\",\n bandColor: \"bandColor\",\n textColor: \"textColor\",\n x: \"x\",\n y: \"y\",\n width: \"width\",\n height: \"height\",\n label: \"label\",\n data: \"data\",\n medianSize: \"medianSize\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c46,\n decls: 10,\n vars: 25,\n consts: [[\"textEl\", \"\"], [1, \"cell\", 3, \"click\"], [\"rx\", \"3\", \"ry\", \"3\", 1, \"card\"], [\"class\", \"card-band\", \"stroke\", \"none\", 4, \"ngIf\"], [\"x\", \"5\", \"alignment-baseline\", \"hanging\", 1, \"trimmed-label\"], [3, \"innerHTML\"], [\"text-anchor\", \"start\", \"alignment-baseline\", \"hanging\", 1, \"value-text\"], [\"stroke\", \"none\", 1, \"card-band\"]],\n template: function CardComponent_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\", 1);\n i0.ɵɵlistener(\"click\", function CardComponent_Template_g_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onClick());\n });\n i0.ɵɵelement(1, \"rect\", 2);\n i0.ɵɵtemplate(2, CardComponent__svg_path_2_Template, 1, 3, \"path\", 3);\n i0.ɵɵelementStart(3, \"title\");\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"foreignObject\", 4);\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelement(6, \"p\", 5);\n i0.ɵɵelementEnd();\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(7, \"text\", 6, 0);\n i0.ɵɵtext(9);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"fill\", ctx.color);\n i0.ɵɵattribute(\"width\", ctx.cardWidth)(\"height\", ctx.cardHeight);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.bandColor && ctx.bandColor !== ctx.color);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx.label);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"x\", ctx.textPadding[3])(\"y\", ctx.cardHeight - ctx.textPadding[2])(\"width\", ctx.textWidth)(\"height\", ctx.labelFontSize + ctx.textPadding[2]);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"color\", ctx.textColor)(\"font-size\", ctx.labelFontSize, \"px\")(\"line-height\", ctx.labelFontSize, \"px\");\n i0.ɵɵproperty(\"innerHTML\", ctx.formattedLabel, i0.ɵɵsanitizeHtml);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"fill\", ctx.textColor)(\"font-size\", ctx.textFontSize, \"pt\");\n i0.ɵɵattribute(\"x\", ctx.textPadding[3])(\"y\", ctx.textPadding[0]);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx.value, \" \");\n }\n },\n dependencies: [i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return CardComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Converts a hex to RGB\n *\n * @export\n */\nfunction hexToRgb(value) {\n // deprecated, use d3.color()\n return d3_color.rgb(value);\n}\n/**\n * Accepts a color (string) and returns a inverted hex color (string)\n * http://stackoverflow.com/questions/9600295/automatically-change-text-color-to-assure-readability\n *\n * @export\n */\nfunction invertColor(value) {\n const color = d3_color.rgb(value);\n const {\n r,\n g,\n b,\n opacity\n } = color;\n if (opacity === 0) {\n return color.toString();\n }\n const yiq = (r * 299 + g * 587 + b * 114) / 1000;\n const depth = yiq >= 128 ? -0.8 : 0.8;\n return shadeRGBColor(color, depth);\n}\n/**\n * Given a rgb, it will darken/lighten\n * http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors\n *\n * @export\n * @param \\{ r, g, b }\n */\nfunction shadeRGBColor({\n r,\n g,\n b\n}, percent) {\n const t = percent < 0 ? 0 : 255;\n const p = percent < 0 ? percent * -1 : percent;\n r = Math.round((t - r) * p) + r;\n g = Math.round((t - g) * p) + g;\n b = Math.round((t - b) * p) + b;\n return `rgb(${r}, ${g}, ${b})`;\n}\nlet CardSeriesComponent = /*#__PURE__*/(() => {\n class CardSeriesComponent {\n constructor() {\n this.innerPadding = 15;\n this.emptyColor = 'rgba(0, 0, 0, 0)';\n this.animations = true;\n this.select = new EventEmitter();\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n if (this.data.length > 2) {\n const valueFormatting = this.valueFormatting || (card => card.value.toLocaleString());\n const sortedLengths = this.data.map(d => {\n const hasValue = d && d.data && typeof d.data.value !== 'undefined' && d.data.value !== null;\n return hasValue ? valueFormatting({\n data: d.data,\n label: d ? d.data.name : '',\n value: d && d.data ? d.data.value : ''\n }).length : 0;\n }).sort((a, b) => b - a);\n const idx = Math.ceil(this.data.length / 2);\n this.medianSize = sortedLengths[idx];\n }\n const cards = this.getCards();\n this.cards = cards.filter(d => d.data.value !== null);\n this.emptySlots = cards.filter(d => d.data.value === null);\n }\n getCards() {\n const yPadding = typeof this.innerPadding === 'number' ? this.innerPadding : this.innerPadding[0] + this.innerPadding[2];\n const xPadding = typeof this.innerPadding === 'number' ? this.innerPadding : this.innerPadding[1] + this.innerPadding[3];\n return this.data.map((d, index) => {\n let label = d.data.name;\n if (label && label.constructor.name === 'Date') {\n label = label.toLocaleDateString();\n } else {\n label = label ? label.toLocaleString() : label;\n }\n const value = d.data.value;\n const valueColor = label ? this.colors.getColor(label) : this.emptyColor;\n const color = this.cardColor || valueColor || '#000';\n return {\n x: d.x,\n y: d.y,\n width: d.width - xPadding,\n height: d.height - yPadding,\n color,\n bandColor: this.bandColor || valueColor,\n textColor: this.textColor || invertColor(color),\n label,\n data: d.data,\n tooltipText: `${label}: ${value}`\n };\n });\n }\n trackBy(index, card) {\n return card.label;\n }\n onClick(data) {\n this.select.emit(data);\n }\n }\n CardSeriesComponent.ɵfac = function CardSeriesComponent_Factory(t) {\n return new (t || CardSeriesComponent)();\n };\n CardSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CardSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-card-series\", \"\"]],\n inputs: {\n data: \"data\",\n dims: \"dims\",\n colors: \"colors\",\n innerPadding: \"innerPadding\",\n cardColor: \"cardColor\",\n bandColor: \"bandColor\",\n emptyColor: \"emptyColor\",\n textColor: \"textColor\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c47,\n decls: 2,\n vars: 4,\n consts: [[\"class\", \"card-empty\", \"rx\", \"3\", \"ry\", \"3\", 3, \"fill\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-card\", \"\", 3, \"x\", \"y\", \"width\", \"height\", \"color\", \"bandColor\", \"textColor\", \"data\", \"label\", \"medianSize\", \"valueFormatting\", \"labelFormatting\", \"animations\", \"select\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"rx\", \"3\", \"ry\", \"3\", 1, \"card-empty\"], [\"ngx-charts-card\", \"\", 3, \"select\", \"x\", \"y\", \"width\", \"height\", \"color\", \"bandColor\", \"textColor\", \"data\", \"label\", \"medianSize\", \"valueFormatting\", \"labelFormatting\", \"animations\"]],\n template: function CardSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, CardSeriesComponent__svg_rect_0_Template, 1, 6, \"rect\", 0)(1, CardSeriesComponent__svg_g_1_Template, 1, 13, \"g\", 1);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.emptySlots)(\"ngForTrackBy\", ctx.trackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.cards)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [CardComponent, i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return CardSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet NumberCardComponent = /*#__PURE__*/(() => {\n class NumberCardComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.emptyColor = 'rgba(0, 0, 0, 0)';\n this.innerPadding = 15;\n this.margin = [10, 10, 10, 10];\n }\n get clickable() {\n return !!this.select.observers.length;\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.formatDates();\n this.domain = this.getDomain();\n this.setColors();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n const size = gridSize(this.dims, this.results.length, 150);\n const N = size[0] * size[1];\n const data = this.results.slice();\n while (data.length < N) {\n data.push({\n value: null\n });\n }\n this.data = gridLayout(this.dims, data, 150, this.designatedTotal);\n }\n getDomain() {\n return this.results.map(d => d.label);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n }\n NumberCardComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵNumberCardComponent_BaseFactory;\n return function NumberCardComponent_Factory(t) {\n return (ɵNumberCardComponent_BaseFactory || (ɵNumberCardComponent_BaseFactory = i0.ɵɵgetInheritedFactory(NumberCardComponent)))(t || NumberCardComponent);\n };\n })();\n NumberCardComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NumberCardComponent,\n selectors: [[\"ngx-charts-number-card\"]],\n inputs: {\n cardColor: \"cardColor\",\n bandColor: \"bandColor\",\n emptyColor: \"emptyColor\",\n innerPadding: \"innerPadding\",\n textColor: \"textColor\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n designatedTotal: \"designatedTotal\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 3,\n vars: 20,\n consts: [[3, \"view\", \"showLegend\", \"animations\"], [1, \"number-card\", \"chart\"], [\"ngx-charts-card-series\", \"\", 3, \"select\", \"colors\", \"cardColor\", \"bandColor\", \"textColor\", \"emptyColor\", \"data\", \"dims\", \"innerPadding\", \"valueFormatting\", \"labelFormatting\", \"animations\"]],\n template: function NumberCardComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n i0.ɵɵlistener(\"select\", function NumberCardComponent_Template_g_select_2_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(17, _c24, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵclassProp(\"clickable\", ctx.clickable);\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"colors\", ctx.colors)(\"cardColor\", ctx.cardColor)(\"bandColor\", ctx.bandColor)(\"textColor\", ctx.textColor)(\"emptyColor\", ctx.emptyColor)(\"data\", ctx.data)(\"dims\", ctx.dims)(\"innerPadding\", ctx.innerPadding)(\"valueFormatting\", ctx.valueFormatting)(\"labelFormatting\", ctx.labelFormatting)(\"animations\", ctx.animations);\n }\n },\n dependencies: [ChartComponent, CardSeriesComponent],\n styles: [_c25, \"ngx-charts-number-card .cell .trimmed-label{font-size:12px;pointer-events:none;overflow:hidden;text-align:left;line-height:1em}ngx-charts-number-card .cell .trimmed-label p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0;margin:0}ngx-charts-number-card .cell .value-text{pointer-events:none}ngx-charts-number-card .number-card.clickable .cell .card,ngx-charts-number-card .number-card.clickable .cell .card-band{cursor:pointer}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return NumberCardComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet NumberCardModule = /*#__PURE__*/(() => {\n class NumberCardModule {}\n NumberCardModule.ɵfac = function NumberCardModule_Factory(t) {\n return new (t || NumberCardModule)();\n };\n NumberCardModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NumberCardModule\n });\n NumberCardModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return NumberCardModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TreeMapCellComponent = /*#__PURE__*/(() => {\n class TreeMapCellComponent {\n constructor(element) {\n this.gradient = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.initialized = false;\n this.orientation = BarOrientation;\n this.element = element.nativeElement;\n }\n ngOnChanges() {\n this.update();\n this.valueFormatting = this.valueFormatting || (value => value.toLocaleString());\n const labelFormatting = this.labelFormatting || (cell => escapeLabel(trimLabel(cell.label, 55)));\n const cellData = {\n data: this.data,\n label: this.label,\n value: this.value\n };\n this.formattedValue = this.valueFormatting(cellData.value);\n this.formattedLabel = labelFormatting(cellData);\n this.gradientId = 'grad' + id().toString();\n this.gradientUrl = `url(#${this.gradientId})`;\n this.gradientStops = this.getGradientStops();\n }\n update() {\n if (this.initialized) {\n this.animateToCurrentForm();\n } else {\n if (this.animations) {\n this.loadAnimation();\n }\n this.initialized = true;\n }\n }\n loadAnimation() {\n const node = select(this.element).select('.cell');\n node.attr('opacity', 0).attr('x', this.x).attr('y', this.y);\n this.animateToCurrentForm();\n }\n getTextColor() {\n return invertColor(this.fill);\n }\n animateToCurrentForm() {\n const node = select(this.element).select('.cell');\n if (this.animations) {\n node.transition().duration(750).attr('opacity', 1).attr('x', this.x).attr('y', this.y).attr('width', this.width).attr('height', this.height);\n } else {\n node.attr('opacity', 1).attr('x', this.x).attr('y', this.y).attr('width', this.width).attr('height', this.height);\n }\n }\n onClick() {\n this.select.emit(this.data);\n }\n getGradientStops() {\n return [{\n offset: 0,\n color: this.fill,\n opacity: 0.3\n }, {\n offset: 100,\n color: this.fill,\n opacity: 1\n }];\n }\n }\n TreeMapCellComponent.ɵfac = function TreeMapCellComponent_Factory(t) {\n return new (t || TreeMapCellComponent)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n TreeMapCellComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TreeMapCellComponent,\n selectors: [[\"g\", \"ngx-charts-tree-map-cell\", \"\"]],\n inputs: {\n data: \"data\",\n fill: \"fill\",\n x: \"x\",\n y: \"y\",\n width: \"width\",\n height: \"height\",\n label: \"label\",\n value: \"value\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n gradient: \"gradient\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c48,\n decls: 4,\n vars: 7,\n consts: [[4, \"ngIf\"], [1, \"cell\", 3, \"click\"], [\"class\", \"treemap-label\", 3, \"pointer-events\", 4, \"ngIf\"], [\"ngx-charts-svg-linear-gradient\", \"\", 3, \"orientation\", \"name\", \"stops\"], [1, \"treemap-label\"], [1, \"treemap-label\", 3, \"innerHTML\"], [\"class\", \"treemap-val\", \"ngx-charts-count-up\", \"\", 3, \"countTo\", \"valueFormatting\", 4, \"ngIf\"], [\"class\", \"treemap-val\", 4, \"ngIf\"], [\"ngx-charts-count-up\", \"\", 1, \"treemap-val\", 3, \"countTo\", \"valueFormatting\"], [1, \"treemap-val\"]],\n template: function TreeMapCellComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, TreeMapCellComponent__svg_defs_1_Template, 2, 3, \"defs\", 0);\n i0.ɵɵelementStart(2, \"rect\", 1);\n i0.ɵɵlistener(\"click\", function TreeMapCellComponent_Template_rect_click_2_listener() {\n return ctx.onClick();\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, TreeMapCellComponent__svg_foreignObject_3_Template, 6, 15, \"foreignObject\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.gradient);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"fill\", ctx.gradient ? ctx.gradientUrl : ctx.fill)(\"width\", ctx.width)(\"height\", ctx.height)(\"x\", ctx.x)(\"y\", ctx.y);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.width >= 70 && ctx.height >= 35);\n }\n },\n dependencies: [SvgLinearGradientComponent, CountUpDirective, i2.NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n return TreeMapCellComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TreeMapCellSeriesComponent = /*#__PURE__*/(() => {\n class TreeMapCellSeriesComponent {\n constructor() {\n this.gradient = false;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.styleTypes = StyleTypes;\n this.placementTypes = PlacementTypes;\n }\n ngOnChanges(changes) {\n this.cells = this.getCells();\n }\n getCells() {\n return this.data.children.filter(d => {\n return d.depth === 1;\n }).map((d, index) => {\n const label = d.id;\n return {\n data: d.data,\n x: d.x0,\n y: d.y0,\n width: d.x1 - d.x0,\n height: d.y1 - d.y0,\n fill: this.colors.getColor(label),\n label,\n value: d.value\n };\n });\n }\n getTooltipText({\n label,\n value\n }) {\n return `\n ${escapeLabel(label)}\n ${value.toLocaleString()}\n `;\n }\n onClick(data) {\n this.select.emit(data);\n }\n trackBy(index, item) {\n return item.label;\n }\n }\n TreeMapCellSeriesComponent.ɵfac = function TreeMapCellSeriesComponent_Factory(t) {\n return new (t || TreeMapCellSeriesComponent)();\n };\n TreeMapCellSeriesComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TreeMapCellSeriesComponent,\n selectors: [[\"g\", \"ngx-charts-tree-map-cell-series\", \"\"]],\n inputs: {\n data: \"data\",\n dims: \"dims\",\n colors: \"colors\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n gradient: \"gradient\",\n tooltipDisabled: \"tooltipDisabled\",\n tooltipTemplate: \"tooltipTemplate\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c49,\n decls: 1,\n vars: 2,\n consts: [[\"ngx-charts-tree-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"data\", \"x\", \"y\", \"width\", \"height\", \"fill\", \"label\", \"value\", \"valueFormatting\", \"labelFormatting\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\", \"select\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-tree-map-cell\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"data\", \"x\", \"y\", \"width\", \"height\", \"fill\", \"label\", \"value\", \"valueFormatting\", \"labelFormatting\", \"gradient\", \"animations\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"]],\n template: function TreeMapCellSeriesComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeMapCellSeriesComponent__svg_g_0_Template, 1, 18, \"g\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.cells)(\"ngForTrackBy\", ctx.trackBy);\n }\n },\n dependencies: [TreeMapCellComponent, i2.NgForOf, TooltipDirective],\n encapsulation: 2,\n changeDetection: 0\n });\n return TreeMapCellSeriesComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TreeMapComponent = /*#__PURE__*/(() => {\n class TreeMapComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.tooltipDisabled = false;\n this.gradient = false;\n this.select = new EventEmitter();\n this.margin = [10, 10, 10, 10];\n }\n update() {\n super.update();\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.domain = this.getDomain();\n this.treemap = treemap().size([this.dims.width, this.dims.height]);\n const rootNode = {\n name: 'root',\n value: 0,\n isRoot: true\n };\n const root = stratify().id(d => {\n let label = d.name;\n if (label.constructor.name === 'Date') {\n label = label.toLocaleDateString();\n } else {\n label = label.toLocaleString();\n }\n return label;\n }).parentId(d => d.isRoot ? null : 'root')([rootNode, ...this.results]).sum(d => d.value);\n this.data = this.treemap(root);\n this.setColors();\n this.transform = `translate(${this.dims.xOffset} , ${this.margin[0]})`;\n }\n getDomain() {\n return this.results.map(d => d.name);\n }\n onClick(data) {\n this.select.emit(data);\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n }\n TreeMapComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵTreeMapComponent_BaseFactory;\n return function TreeMapComponent_Factory(t) {\n return (ɵTreeMapComponent_BaseFactory || (ɵTreeMapComponent_BaseFactory = i0.ɵɵgetInheritedFactory(TreeMapComponent)))(t || TreeMapComponent);\n };\n })();\n TreeMapComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TreeMapComponent,\n selectors: [[\"ngx-charts-tree-map\"]],\n contentQueries: function TreeMapComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n inputs: {\n results: \"results\",\n tooltipDisabled: \"tooltipDisabled\",\n valueFormatting: \"valueFormatting\",\n labelFormatting: \"labelFormatting\",\n gradient: \"gradient\"\n },\n outputs: {\n select: \"select\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 3,\n vars: 16,\n consts: [[3, \"view\", \"showLegend\", \"animations\"], [1, \"tree-map\", \"chart\"], [\"ngx-charts-tree-map-cell-series\", \"\", 3, \"select\", \"colors\", \"data\", \"dims\", \"tooltipDisabled\", \"tooltipTemplate\", \"valueFormatting\", \"labelFormatting\", \"gradient\", \"animations\"]],\n template: function TreeMapComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 0);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 1)(2, \"g\", 2);\n i0.ɵɵlistener(\"select\", function TreeMapComponent_Template_g_select_2_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(13, _c24, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"colors\", ctx.colors)(\"data\", ctx.data)(\"dims\", ctx.dims)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipTemplate\", ctx.tooltipTemplate)(\"valueFormatting\", ctx.valueFormatting)(\"labelFormatting\", ctx.labelFormatting)(\"gradient\", ctx.gradient)(\"animations\", ctx.animations);\n }\n },\n dependencies: [ChartComponent, TreeMapCellSeriesComponent],\n styles: [\".tree-map .treemap-val{font-size:1.3em;padding-top:5px;display:inline-block}.tree-map .treemap-label p{display:table-cell;text-align:center;line-height:1.2em;vertical-align:middle}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return TreeMapComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet TreeMapModule = /*#__PURE__*/(() => {\n class TreeMapModule {}\n TreeMapModule.ɵfac = function TreeMapModule_Factory(t) {\n return new (t || TreeMapModule)();\n };\n TreeMapModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: TreeMapModule\n });\n TreeMapModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule]]\n });\n return TreeMapModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar ElementType = /*#__PURE__*/function (ElementType) {\n ElementType[\"Value\"] = \"value\";\n ElementType[\"Units\"] = \"units\";\n return ElementType;\n}(ElementType || {});\nlet LinearGaugeComponent = /*#__PURE__*/(() => {\n class LinearGaugeComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.min = 0;\n this.max = 100;\n this.value = 0;\n this.margin = [10, 20, 10, 20];\n this.valueResizeScale = 1;\n this.unitsResizeScale = 1;\n this.valueTextTransform = '';\n this.valueTranslate = '';\n this.unitsTextTransform = '';\n this.unitsTranslate = '';\n this.barOrientation = BarOrientation;\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n setTimeout(() => {\n this.scaleText(ElementType.Value);\n this.scaleText(ElementType.Units);\n });\n }\n update() {\n super.update();\n this.hasPreviousValue = this.previousValue !== undefined;\n this.max = Math.max(this.max, this.value);\n this.min = Math.min(this.min, this.value);\n if (this.hasPreviousValue) {\n this.max = Math.max(this.max, this.previousValue);\n this.min = Math.min(this.min, this.previousValue);\n }\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin\n });\n this.valueDomain = this.getValueDomain();\n this.valueScale = this.getValueScale();\n this.displayValue = this.getDisplayValue();\n this.setColors();\n const xOffset = this.margin[3] + this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.transform = `translate(${xOffset}, ${yOffset})`;\n this.transformLine = `translate(${this.margin[3] + this.valueScale(this.previousValue)}, ${yOffset})`;\n this.valueTranslate = `translate(0, -15)`;\n this.unitsTranslate = `translate(0, 15)`;\n if (isPlatformServer(this.platformId)) {\n this.scaleTextSSR('value');\n this.scaleTextSSR('units');\n } else {\n setTimeout(() => this.scaleText(ElementType.Value), 50);\n setTimeout(() => this.scaleText(ElementType.Units), 50);\n }\n }\n getValueDomain() {\n return [this.min, this.max];\n }\n getValueScale() {\n return scaleLinear().range([0, this.dims.width]).domain(this.valueDomain);\n }\n getDisplayValue() {\n if (this.valueFormatting) {\n return this.valueFormatting(this.value);\n }\n return this.value.toLocaleString();\n }\n scaleText(element, repeat = true) {\n let el;\n let resizeScale;\n if (element === ElementType.Value) {\n el = this.valueTextEl;\n resizeScale = this.valueResizeScale;\n } else {\n el = this.unitsTextEl;\n resizeScale = this.unitsResizeScale;\n }\n const {\n width,\n height\n } = el.nativeElement.getBoundingClientRect();\n if (width === 0 || height === 0) return;\n const oldScale = resizeScale;\n const availableWidth = this.dims.width;\n const availableHeight = Math.max(this.dims.height / 2 - 15, 0);\n const resizeScaleWidth = Math.floor(availableWidth / (width / resizeScale) * 100) / 100;\n const resizeScaleHeight = Math.floor(availableHeight / (height / resizeScale) * 100) / 100;\n resizeScale = Math.min(resizeScaleHeight, resizeScaleWidth);\n if (resizeScale !== oldScale) {\n if (element === ElementType.Value) {\n this.valueResizeScale = resizeScale;\n this.valueTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n } else {\n this.unitsResizeScale = resizeScale;\n this.unitsTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n this.cd.markForCheck();\n if (repeat && isPlatformBrowser(this.platformId)) {\n setTimeout(() => {\n this.scaleText(element, false);\n }, 50);\n }\n }\n }\n scaleTextSSR(element) {\n let resizeScale = 1;\n const value = element === 'value' ? this.displayValue : this.units;\n const width = calculateTextWidth(VERDANA_FONT_WIDTHS_16_PX, value, 10);\n const height = 25;\n const availableWidth = this.dims.width;\n const availableHeight = Math.max(this.dims.height / 2 - 15, 0);\n const resizeScaleWidth = Math.floor(availableWidth / (width / resizeScale) * 100) / 100;\n const resizeScaleHeight = Math.floor(availableHeight / (height / resizeScale) * 100) / 100;\n resizeScale = Math.min(resizeScaleHeight, resizeScaleWidth);\n if (element === 'value') {\n this.valueResizeScale = resizeScale;\n this.valueTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n } else {\n this.unitsResizeScale = resizeScale;\n this.unitsTextTransform = `scale(${resizeScale}, ${resizeScale})`;\n }\n this.cd.markForCheck();\n }\n onClick() {\n this.select.emit({\n name: 'Value',\n value: this.value\n });\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, [this.value], this.customColors);\n }\n }\n LinearGaugeComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵLinearGaugeComponent_BaseFactory;\n return function LinearGaugeComponent_Factory(t) {\n return (ɵLinearGaugeComponent_BaseFactory || (ɵLinearGaugeComponent_BaseFactory = i0.ɵɵgetInheritedFactory(LinearGaugeComponent)))(t || LinearGaugeComponent);\n };\n })();\n LinearGaugeComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: LinearGaugeComponent,\n selectors: [[\"ngx-charts-linear-gauge\"]],\n viewQuery: function LinearGaugeComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c50, 5);\n i0.ɵɵviewQuery(_c51, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.valueTextEl = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.unitsTextEl = _t.first);\n }\n },\n inputs: {\n min: \"min\",\n max: \"max\",\n value: \"value\",\n units: \"units\",\n previousValue: \"previousValue\",\n valueFormatting: \"valueFormatting\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 15,\n vars: 38,\n consts: [[\"valueTextEl\", \"\"], [\"unitsTextEl\", \"\"], [3, \"click\", \"view\", \"showLegend\", \"animations\"], [1, \"linear-gauge\", \"chart\"], [\"ngx-charts-bar\", \"\", 1, \"background-bar\", 3, \"width\", \"height\", \"x\", \"y\", \"data\", \"orientation\", \"roundEdges\", \"animations\"], [\"ngx-charts-bar\", \"\", 3, \"width\", \"height\", \"x\", \"y\", \"fill\", \"data\", \"orientation\", \"roundEdges\", \"animations\"], [\"x1\", \"0\", \"y1\", \"5\", \"x2\", \"0\", \"y2\", \"15\", 4, \"ngIf\"], [\"x1\", \"0\", \"y1\", \"-5\", \"x2\", \"0\", \"y2\", \"-15\", 4, \"ngIf\"], [\"alignment-baseline\", \"after-edge\", 1, \"value\"], [\"alignment-baseline\", \"before-edge\", 1, \"units\"], [\"x1\", \"0\", \"y1\", \"5\", \"x2\", \"0\", \"y2\", \"15\"], [\"x1\", \"0\", \"y1\", \"-5\", \"x2\", \"0\", \"y2\", \"-15\"]],\n template: function LinearGaugeComponent_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 2);\n i0.ɵɵlistener(\"click\", function LinearGaugeComponent_Template_ngx_charts_chart_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onClick());\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 3);\n i0.ɵɵelement(2, \"g\", 4)(3, \"g\", 5);\n i0.ɵɵtemplate(4, LinearGaugeComponent__svg_line_4_Template, 1, 2, \"line\", 6)(5, LinearGaugeComponent__svg_line_5_Template, 1, 2, \"line\", 7);\n i0.ɵɵelementStart(6, \"g\")(7, \"g\")(8, \"text\", 8, 0);\n i0.ɵɵtext(10);\n i0.ɵɵelementEnd()();\n i0.ɵɵelementStart(11, \"g\")(12, \"text\", 9, 1);\n i0.ɵɵtext(14);\n i0.ɵɵelementEnd()()()()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(33, _c24, ctx.width, ctx.height))(\"showLegend\", false)(\"animations\", ctx.animations);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"width\", ctx.dims.width)(\"height\", 3)(\"x\", ctx.margin[3])(\"y\", ctx.dims.height / 2 + ctx.margin[0] - 2)(\"data\", i0.ɵɵpureFunction0(36, _c52))(\"orientation\", ctx.barOrientation.Horizontal)(\"roundEdges\", true)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"width\", ctx.valueScale(ctx.value))(\"height\", 3)(\"x\", ctx.margin[3])(\"y\", ctx.dims.height / 2 + ctx.margin[0] - 2)(\"fill\", ctx.colors.getColor(ctx.units))(\"data\", i0.ɵɵpureFunction0(37, _c52))(\"orientation\", ctx.barOrientation.Horizontal)(\"roundEdges\", true)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.hasPreviousValue);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.hasPreviousValue);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.valueTranslate);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"text-anchor\", \"middle\");\n i0.ɵɵattribute(\"transform\", ctx.valueTextTransform);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx.displayValue, \" \");\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.unitsTranslate);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"text-anchor\", \"middle\");\n i0.ɵɵattribute(\"transform\", ctx.unitsTextTransform);\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx.units, \" \");\n }\n },\n dependencies: [ChartComponent, BarComponent, i2.NgIf],\n styles: [_c25, \".linear-gauge{cursor:pointer}.linear-gauge .background-bar path{fill:#0000000d}.linear-gauge .units{fill:#666}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return LinearGaugeComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet GaugeArcComponent = /*#__PURE__*/(() => {\n class GaugeArcComponent {\n constructor() {\n this.isActive = false;\n this.tooltipDisabled = false;\n this.animations = true;\n this.select = new EventEmitter();\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.placementTypes = PlacementTypes;\n this.styleTypes = StyleTypes;\n }\n tooltipText(arc) {\n const label = formatLabel(arc.data.name);\n let val;\n if (this.valueFormatting) {\n val = this.valueFormatting(arc.data.value);\n } else {\n val = formatLabel(arc.data.value);\n }\n return `\n ${escapeLabel(label)}\n ${val}\n `;\n }\n }\n GaugeArcComponent.ɵfac = function GaugeArcComponent_Factory(t) {\n return new (t || GaugeArcComponent)();\n };\n GaugeArcComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: GaugeArcComponent,\n selectors: [[\"g\", \"ngx-charts-gauge-arc\", \"\"]],\n inputs: {\n backgroundArc: \"backgroundArc\",\n valueArc: \"valueArc\",\n cornerRadius: \"cornerRadius\",\n colors: \"colors\",\n isActive: \"isActive\",\n tooltipDisabled: \"tooltipDisabled\",\n valueFormatting: \"valueFormatting\",\n tooltipTemplate: \"tooltipTemplate\",\n animations: \"animations\"\n },\n outputs: {\n select: \"select\",\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n attrs: _c53,\n decls: 2,\n vars: 23,\n consts: [[\"ngx-charts-pie-arc\", \"\", 1, \"background-arc\", 3, \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"cornerRadius\", \"data\", \"animate\", \"pointerEvents\"], [\"ngx-charts-pie-arc\", \"\", \"ngx-tooltip\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"startAngle\", \"endAngle\", \"innerRadius\", \"outerRadius\", \"cornerRadius\", \"fill\", \"data\", \"animate\", \"isActive\", \"tooltipDisabled\", \"tooltipPlacement\", \"tooltipType\", \"tooltipTitle\", \"tooltipTemplate\", \"tooltipContext\"]],\n template: function GaugeArcComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelement(0, \"g\", 0);\n i0.ɵɵelementStart(1, \"g\", 1);\n i0.ɵɵlistener(\"select\", function GaugeArcComponent_Template_g_select_1_listener($event) {\n return ctx.select.emit($event);\n })(\"activate\", function GaugeArcComponent_Template_g_activate_1_listener($event) {\n return ctx.activate.emit($event);\n })(\"deactivate\", function GaugeArcComponent_Template_g_deactivate_1_listener($event) {\n return ctx.deactivate.emit($event);\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"startAngle\", 0)(\"endAngle\", ctx.backgroundArc.endAngle)(\"innerRadius\", ctx.backgroundArc.innerRadius)(\"outerRadius\", ctx.backgroundArc.outerRadius)(\"cornerRadius\", ctx.cornerRadius)(\"data\", ctx.backgroundArc.data)(\"animate\", false)(\"pointerEvents\", false);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"startAngle\", 0)(\"endAngle\", ctx.valueArc.endAngle)(\"innerRadius\", ctx.valueArc.innerRadius)(\"outerRadius\", ctx.valueArc.outerRadius)(\"cornerRadius\", ctx.cornerRadius)(\"fill\", ctx.colors.getColor(ctx.valueArc.data.name))(\"data\", ctx.valueArc.data)(\"animate\", ctx.animations)(\"isActive\", ctx.isActive)(\"tooltipDisabled\", ctx.tooltipDisabled)(\"tooltipPlacement\", ctx.placementTypes.Top)(\"tooltipType\", ctx.styleTypes.tooltip)(\"tooltipTitle\", ctx.tooltipTemplate ? undefined : ctx.tooltipText(ctx.valueArc))(\"tooltipTemplate\", ctx.tooltipTemplate)(\"tooltipContext\", ctx.valueArc.data);\n }\n },\n dependencies: [PieArcComponent, TooltipDirective],\n encapsulation: 2,\n changeDetection: 0\n });\n return GaugeArcComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet GaugeAxisComponent = /*#__PURE__*/(() => {\n class GaugeAxisComponent {\n constructor() {\n this.rotate = '';\n }\n ngOnChanges(changes) {\n this.update();\n }\n update() {\n this.rotationAngle = -90 + this.startAngle;\n this.rotate = `rotate(${this.rotationAngle})`;\n this.ticks = this.getTicks();\n }\n getTicks() {\n const bigTickSegment = this.angleSpan / this.bigSegments;\n const smallTickSegment = bigTickSegment / this.smallSegments;\n const tickLength = 20;\n const ticks = {\n big: [],\n small: []\n };\n const startDistance = this.radius + 10;\n const textDist = startDistance + tickLength + 10;\n for (let i = 0; i <= this.bigSegments; i++) {\n const angleDeg = i * bigTickSegment;\n const angle = angleDeg * Math.PI / 180;\n const textAnchor = this.getTextAnchor(angleDeg);\n let skip = false;\n if (i === 0 && this.angleSpan === 360) {\n skip = true;\n }\n if (!skip) {\n let text = Number.parseFloat(this.valueScale.invert(angleDeg).toString()).toLocaleString();\n if (this.tickFormatting) {\n text = this.tickFormatting(text);\n }\n ticks.big.push({\n line: this.getTickPath(startDistance, tickLength, angle),\n textAnchor,\n text,\n textTransform: `\n translate(${textDist * Math.cos(angle)}, ${textDist * Math.sin(angle)}) rotate(${-this.rotationAngle})\n `\n });\n }\n if (i === this.bigSegments) {\n continue;\n }\n for (let j = 1; j <= this.smallSegments; j++) {\n const smallAngleDeg = angleDeg + j * smallTickSegment;\n const smallAngle = smallAngleDeg * Math.PI / 180;\n ticks.small.push({\n line: this.getTickPath(startDistance, tickLength / 2, smallAngle)\n });\n }\n }\n return ticks;\n }\n getTextAnchor(angle) {\n // [0, 45] = 'middle';\n // [46, 135] = 'start';\n // [136, 225] = 'middle';\n // [226, 315] = 'end';\n angle = (this.startAngle + angle) % 360;\n let textAnchor = TextAnchor.Middle;\n if (angle > 45 && angle <= 135) {\n textAnchor = TextAnchor.Start;\n } else if (angle > 225 && angle <= 315) {\n textAnchor = TextAnchor.End;\n }\n return textAnchor;\n }\n getTickPath(startDistance, tickLength, angle) {\n const y1 = startDistance * Math.sin(angle);\n const y2 = (startDistance + tickLength) * Math.sin(angle);\n const x1 = startDistance * Math.cos(angle);\n const x2 = (startDistance + tickLength) * Math.cos(angle);\n const points = [{\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }];\n const lineGenerator = line().x(d => d.x).y(d => d.y);\n return lineGenerator(points);\n }\n }\n GaugeAxisComponent.ɵfac = function GaugeAxisComponent_Factory(t) {\n return new (t || GaugeAxisComponent)();\n };\n GaugeAxisComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: GaugeAxisComponent,\n selectors: [[\"g\", \"ngx-charts-gauge-axis\", \"\"]],\n inputs: {\n bigSegments: \"bigSegments\",\n smallSegments: \"smallSegments\",\n min: \"min\",\n max: \"max\",\n angleSpan: \"angleSpan\",\n startAngle: \"startAngle\",\n radius: \"radius\",\n valueScale: \"valueScale\",\n tickFormatting: \"tickFormatting\"\n },\n features: [i0.ɵɵNgOnChangesFeature],\n attrs: _c54,\n decls: 4,\n vars: 4,\n consts: [[\"class\", \"gauge-tick gauge-tick-large\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"gauge-tick gauge-tick-small\", 4, \"ngFor\", \"ngForOf\"], [1, \"gauge-tick\", \"gauge-tick-large\"], [\"alignment-baseline\", \"central\"], [1, \"gauge-tick\", \"gauge-tick-small\"]],\n template: function GaugeAxisComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"g\");\n i0.ɵɵtemplate(1, GaugeAxisComponent__svg_g_1_Template, 2, 1, \"g\", 0)(2, GaugeAxisComponent__svg_g_2_Template, 3, 4, \"g\", 0)(3, GaugeAxisComponent__svg_g_3_Template, 2, 1, \"g\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"transform\", ctx.rotate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks.big);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks.big);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.ticks.small);\n }\n },\n dependencies: [i2.NgForOf],\n encapsulation: 2,\n changeDetection: 0\n });\n return GaugeAxisComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet GaugeComponent = /*#__PURE__*/(() => {\n class GaugeComponent extends BaseChartComponent {\n constructor() {\n super(...arguments);\n this.legend = false;\n this.legendTitle = 'Legend';\n this.legendPosition = LegendPosition.Right;\n this.min = 0;\n this.max = 100;\n this.bigSegments = 10;\n this.smallSegments = 5;\n this.showAxis = true;\n this.startAngle = -120;\n this.angleSpan = 240;\n this.activeEntries = [];\n this.tooltipDisabled = false;\n this.showText = true;\n this.activate = new EventEmitter();\n this.deactivate = new EventEmitter();\n this.resizeScale = 1;\n this.rotation = '';\n this.textTransform = 'scale(1, 1)';\n this.cornerRadius = 10;\n }\n ngAfterViewInit() {\n super.ngAfterViewInit();\n setTimeout(() => this.scaleText());\n }\n update() {\n super.update();\n if (!this.showAxis) {\n if (!this.margin) {\n this.margin = [10, 20, 10, 20];\n }\n } else {\n if (!this.margin) {\n this.margin = [60, 100, 60, 100];\n }\n }\n // make the starting angle positive\n if (this.startAngle < 0) {\n this.startAngle = this.startAngle % 360 + 360;\n }\n this.angleSpan = Math.min(this.angleSpan, 360);\n this.dims = calculateViewDimensions({\n width: this.width,\n height: this.height,\n margins: this.margin,\n showLegend: this.legend,\n legendPosition: this.legendPosition\n });\n this.domain = this.getDomain();\n this.valueDomain = this.getValueDomain();\n this.valueScale = this.getValueScale();\n this.displayValue = this.getDisplayValue();\n this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2;\n this.arcs = this.getArcs();\n this.setColors();\n this.legendOptions = this.getLegendOptions();\n const xOffset = this.margin[3] + this.dims.width / 2;\n const yOffset = this.margin[0] + this.dims.height / 2;\n this.transform = `translate(${xOffset}, ${yOffset})`;\n this.rotation = `rotate(${this.startAngle})`;\n setTimeout(() => this.scaleText(), 50);\n }\n getArcs() {\n const arcs = [];\n const availableRadius = this.outerRadius * 0.7;\n const radiusPerArc = Math.min(availableRadius / this.results.length, 10);\n const arcWidth = radiusPerArc * 0.7;\n this.textRadius = this.outerRadius - this.results.length * radiusPerArc;\n this.cornerRadius = Math.floor(arcWidth / 2);\n let i = 0;\n for (const d of this.results) {\n const outerRadius = this.outerRadius - i * radiusPerArc;\n const innerRadius = outerRadius - arcWidth;\n const backgroundArc = {\n endAngle: this.angleSpan * Math.PI / 180,\n innerRadius,\n outerRadius,\n data: {\n value: this.max,\n name: d.name\n }\n };\n const valueArc = {\n endAngle: Math.min(this.valueScale(d.value), this.angleSpan) * Math.PI / 180,\n innerRadius,\n outerRadius,\n data: {\n value: d.value,\n name: d.name\n }\n };\n const arc = {\n backgroundArc,\n valueArc\n };\n arcs.push(arc);\n i++;\n }\n return arcs;\n }\n getDomain() {\n return this.results.map(d => d.name);\n }\n getValueDomain() {\n const values = this.results.map(d => d.value);\n const dataMin = Math.min(...values);\n const dataMax = Math.max(...values);\n if (this.min !== undefined) {\n this.min = Math.min(this.min, dataMin);\n } else {\n this.min = dataMin;\n }\n if (this.max !== undefined) {\n this.max = Math.max(this.max, dataMax);\n } else {\n this.max = dataMax;\n }\n return [this.min, this.max];\n }\n getValueScale() {\n return scaleLinear().range([0, this.angleSpan]).nice().domain(this.valueDomain);\n }\n getDisplayValue() {\n const value = this.results.map(d => d.value).reduce((a, b) => a + b, 0);\n if (this.textValue && 0 !== this.textValue.length) {\n return this.textValue.toLocaleString();\n }\n if (this.valueFormatting) {\n return this.valueFormatting(value);\n }\n return value.toLocaleString();\n }\n scaleText(repeat = true) {\n if (!this.showText) {\n return;\n }\n const {\n width\n } = this.textEl.nativeElement.getBoundingClientRect();\n const oldScale = this.resizeScale;\n if (width === 0) {\n this.resizeScale = 1;\n } else {\n const availableSpace = this.textRadius;\n this.resizeScale = Math.floor(availableSpace / (width / this.resizeScale) * 100) / 100;\n }\n if (this.resizeScale !== oldScale) {\n this.textTransform = `scale(${this.resizeScale}, ${this.resizeScale})`;\n this.cd.markForCheck();\n if (repeat) {\n setTimeout(() => this.scaleText(false), 50);\n }\n }\n }\n onClick(data) {\n this.select.emit(data);\n }\n getLegendOptions() {\n return {\n scaleType: ScaleType.Ordinal,\n colors: this.colors,\n domain: this.domain,\n title: this.legendTitle,\n position: this.legendPosition\n };\n }\n setColors() {\n this.colors = new ColorHelper(this.scheme, ScaleType.Ordinal, this.domain, this.customColors);\n }\n onActivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n if (idx > -1) {\n return;\n }\n this.activeEntries = [item, ...this.activeEntries];\n this.activate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n onDeactivate(item) {\n const idx = this.activeEntries.findIndex(d => {\n return d.name === item.name && d.value === item.value;\n });\n this.activeEntries.splice(idx, 1);\n this.activeEntries = [...this.activeEntries];\n this.deactivate.emit({\n value: item,\n entries: this.activeEntries\n });\n }\n isActive(entry) {\n if (!this.activeEntries) return false;\n const item = this.activeEntries.find(d => {\n return entry.name === d.name && entry.series === d.series;\n });\n return item !== undefined;\n }\n trackBy(index, item) {\n return item.valueArc.data.name;\n }\n }\n GaugeComponent.ɵfac = /* @__PURE__ */(() => {\n let ɵGaugeComponent_BaseFactory;\n return function GaugeComponent_Factory(t) {\n return (ɵGaugeComponent_BaseFactory || (ɵGaugeComponent_BaseFactory = i0.ɵɵgetInheritedFactory(GaugeComponent)))(t || GaugeComponent);\n };\n })();\n GaugeComponent.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: GaugeComponent,\n selectors: [[\"ngx-charts-gauge\"]],\n contentQueries: function GaugeComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c22, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltipTemplate = _t.first);\n }\n },\n viewQuery: function GaugeComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c45, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.textEl = _t.first);\n }\n },\n inputs: {\n legend: \"legend\",\n legendTitle: \"legendTitle\",\n legendPosition: \"legendPosition\",\n min: \"min\",\n max: \"max\",\n textValue: \"textValue\",\n units: \"units\",\n bigSegments: \"bigSegments\",\n smallSegments: \"smallSegments\",\n results: \"results\",\n showAxis: \"showAxis\",\n startAngle: \"startAngle\",\n angleSpan: \"angleSpan\",\n activeEntries: \"activeEntries\",\n axisTickFormatting: \"axisTickFormatting\",\n tooltipDisabled: \"tooltipDisabled\",\n valueFormatting: \"valueFormatting\",\n showText: \"showText\",\n margin: \"margin\"\n },\n outputs: {\n activate: \"activate\",\n deactivate: \"deactivate\"\n },\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 5,\n vars: 13,\n consts: [[\"textEl\", \"\"], [3, \"legendLabelClick\", \"legendLabelActivate\", \"legendLabelDeactivate\", \"view\", \"showLegend\", \"legendOptions\", \"activeEntries\", \"animations\"], [1, \"gauge\", \"chart\"], [4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"ngx-charts-gauge-axis\", \"\", 3, \"bigSegments\", \"smallSegments\", \"min\", \"max\", \"radius\", \"angleSpan\", \"valueScale\", \"startAngle\", \"tickFormatting\", 4, \"ngIf\"], [\"alignment-baseline\", \"central\", 3, \"textAnchor\", 4, \"ngIf\"], [\"ngx-charts-gauge-arc\", \"\", 3, \"select\", \"activate\", \"deactivate\", \"backgroundArc\", \"valueArc\", \"cornerRadius\", \"colors\", \"isActive\", \"tooltipDisabled\", \"tooltipTemplate\", \"valueFormatting\", \"animations\"], [\"ngx-charts-gauge-axis\", \"\", 3, \"bigSegments\", \"smallSegments\", \"min\", \"max\", \"radius\", \"angleSpan\", \"valueScale\", \"startAngle\", \"tickFormatting\"], [\"alignment-baseline\", \"central\"], [\"x\", \"0\", \"dy\", \"0\"], [\"x\", \"0\", \"dy\", \"1.2em\"]],\n template: function GaugeComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"ngx-charts-chart\", 1);\n i0.ɵɵlistener(\"legendLabelClick\", function GaugeComponent_Template_ngx_charts_chart_legendLabelClick_0_listener($event) {\n return ctx.onClick($event);\n })(\"legendLabelActivate\", function GaugeComponent_Template_ngx_charts_chart_legendLabelActivate_0_listener($event) {\n return ctx.onActivate($event);\n })(\"legendLabelDeactivate\", function GaugeComponent_Template_ngx_charts_chart_legendLabelDeactivate_0_listener($event) {\n return ctx.onDeactivate($event);\n });\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"g\", 2);\n i0.ɵɵtemplate(2, GaugeComponent__svg_g_2_Template, 2, 10, \"g\", 3)(3, GaugeComponent__svg_g_3_Template, 1, 9, \"g\", 4)(4, GaugeComponent__svg_text_4_Template, 6, 5, \"text\", 5);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"view\", i0.ɵɵpureFunction2(10, _c24, ctx.width, ctx.height))(\"showLegend\", ctx.legend)(\"legendOptions\", ctx.legendOptions)(\"activeEntries\", ctx.activeEntries)(\"animations\", ctx.animations);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"transform\", ctx.transform);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx.arcs)(\"ngForTrackBy\", ctx.trackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showAxis);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showText);\n }\n },\n dependencies: [ChartComponent, GaugeArcComponent, GaugeAxisComponent, i2.NgForOf, i2.NgIf],\n styles: [_c25, \".gauge .background-arc path{fill:#0000000d}.gauge .gauge-tick path{stroke:#666}.gauge .gauge-tick text{font-size:12px;fill:#666;font-weight:700}.gauge .gauge-tick-large path{stroke-width:2px}.gauge .gauge-tick-small path{stroke-width:1px}\\n\"],\n encapsulation: 2,\n changeDetection: 0\n });\n return GaugeComponent;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet GaugeModule = /*#__PURE__*/(() => {\n class GaugeModule {}\n GaugeModule.ɵfac = function GaugeModule_Factory(t) {\n return new (t || GaugeModule)();\n };\n GaugeModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: GaugeModule\n });\n GaugeModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [[ChartCommonModule, PieChartModule, BarChartModule]]\n });\n return GaugeModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// The export is needed here to generate a valid polyfills.metadata.json file\nfunction ngxChartsPolyfills() {\n // IE11 fix\n // Ref: https://github.com/swimlane/ngx-charts/issues/386\n if (typeof SVGElement !== 'undefined' && typeof SVGElement.prototype.contains === 'undefined') {\n SVGElement.prototype.contains = HTMLDivElement.prototype.contains;\n }\n}\nlet NgxChartsModule = /*#__PURE__*/(() => {\n class NgxChartsModule {\n constructor() {\n ngxChartsPolyfills();\n }\n }\n NgxChartsModule.ɵfac = function NgxChartsModule_Factory(t) {\n return new (t || NgxChartsModule)();\n };\n NgxChartsModule.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NgxChartsModule\n });\n NgxChartsModule.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [ChartCommonModule, AreaChartModule, BarChartModule, BoxChartModule, BubbleChartModule, HeatMapModule, LineChartModule, PolarChartModule, NumberCardModule, PieChartModule, TreeMapModule, GaugeModule]\n });\n return NgxChartsModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction tickFormat(fieldType, groupByType) {\n return function (label) {\n if (label === 'No Value' || label === 'Other') {\n return label;\n }\n if (fieldType === 'date' && groupByType === 'groupBy') {\n const formatter = timeFormat('MM/DD/YYYY');\n return formatter(label);\n }\n return label.toString();\n };\n}\n\n/*\n * Public API Surface of ngx-charts\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AdvancedLegendComponent, AdvancedPieChartComponent, AreaChartComponent, AreaChartModule, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaComponent, AreaSeriesComponent, AxesModule, AxisLabelComponent, BarChartModule, BarChartType, BarComponent, BarHorizontal2DComponent, BarHorizontalComponent, BarHorizontalNormalizedComponent, BarHorizontalStackedComponent, BarLabelComponent, BarOrientation, BarVertical2DComponent, BarVerticalComponent, BarVerticalNormalizedComponent, BarVerticalStackedComponent, BaseChartComponent, BoxChartComponent, BoxChartModule, BoxComponent, BoxSeriesComponent, BubbleChartComponent, BubbleChartModule, BubbleSeriesComponent, CardComponent, CardSeriesComponent, ChartCommonModule, ChartComponent, CircleComponent, CircleSeriesComponent, ColorHelper, CountUpDirective, D0Types, GaugeArcComponent, GaugeAxisComponent, GaugeComponent, GaugeModule, GridPanelComponent, GridPanelSeriesComponent, HeatCellSeriesComponent, HeatMapCellComponent, HeatMapComponent, HeatMapModule, LegendComponent, LegendEntryComponent, LegendPosition, LegendType, LineChartComponent, LineChartModule, LineComponent, LineSeriesComponent, LinearGaugeComponent, NgxChartsModule, NumberCardComponent, NumberCardModule, Orientation, PieArcComponent, PieChartComponent, PieChartModule, PieGridComponent, PieGridSeriesComponent, PieLabelComponent, PieSeriesComponent, PlacementTypes, PolarChartComponent, PolarChartModule, PolarSeriesComponent, ScaleLegendComponent, ScaleType, SeriesHorizontal, SeriesType, SeriesVerticalComponent, ShowTypes, StyleTypes, SvgLinearGradientComponent, SvgRadialGradientComponent, TextAnchor, Timeline, TooltipArea, TooltipContentComponent, TooltipDirective, TooltipModule, TooltipService, TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent, TreeMapModule, VisibilityObserver, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent, calculateViewDimensions, colorSets, count, decimalChecker, escapeLabel, formatLabel, getDomain, getScale, getScaleType, getUniqueXDomainValues, getXDomainArray, gridLayout, gridSize, hexToRgb, id, invertColor, reduceTicks, shadeRGBColor, sortByDomain, sortByTime, sortLinear, throttle, throttleable, tickFormat, trimLabel };\n"],"mappings":"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","names":["xhtml","namespaces_default","init_namespaces","__esmMin","namespace_default","name","prefix","i","namespaces_default","init_namespace","__esmMin","init_namespaces","creatorInherit","name","document","uri","xhtml","creatorFixed","fullname","creator_default","namespace_default","init_creator","__esmMin","init_namespace","init_namespaces","none","selector_default","selector","init_selector","__esmMin","select_default","select","selector_default","groups","m","subgroups","j","group","n","subgroup","node","subnode","i","Selection","init_select","__esmMin","init_selection","init_selector","array_default","x","init_array","__esmMin","empty","selectorAll_default","selector","init_selectorAll","__esmMin","arrayAll","select","group","array_default","selectAll_default","selectorAll_default","groups","m","subgroups","parents","j","n","node","i","Selection","init_selectAll","__esmMin","init_selection","init_array","init_selectorAll","matcher_default","selector","childMatcher","node","init_matcher","__esmMin","childFind","match","find","childFirst","selectChild_default","childMatcher","init_selectChild","__esmMin","init_matcher","children","childrenFilter","match","filter","selectChildren_default","childMatcher","init_selectChildren","__esmMin","init_matcher","filter_default","match","matcher_default","groups","m","subgroups","j","group","n","subgroup","node","i","Selection","init_filter","__esmMin","init_selection","init_matcher","sparse_default","update","init_sparse","__esmMin","enter_default","Selection","sparse_default","EnterNode","parent","datum","init_enter","__esmMin","init_sparse","init_selection","child","next","selector","constant_default","x","init_constant","__esmMin","bindIndex","parent","group","enter","update","exit","data","i","node","groupLength","dataLength","EnterNode","bindKey","key","nodeByKeyValue","keyValues","keyValue","datum","data_default","value","bind","parents","groups","constant_default","m","j","array_default","enterGroup","updateGroup","exitGroup","i0","i1","previous","next","Selection","init_data","__esmMin","init_selection","init_enter","init_array","init_constant","exit_default","Selection","sparse_default","init_exit","__esmMin","init_sparse","init_selection","join_default","onenter","onupdate","onexit","enter","update","exit","init_join","__esmMin","merge_default","selection","Selection","groups0","groups1","m0","m1","m","merges","j","group0","group1","n","merge","node","i","init_merge","__esmMin","init_selection","order_default","groups","j","m","group","i","next","node","init_order","__esmMin","sort_default","compare","ascending","compareNode","a","b","groups","m","sortgroups","j","group","n","sortgroup","node","i","Selection","init_sort","__esmMin","init_selection","call_default","callback","init_call","__esmMin","nodes_default","init_nodes","__esmMin","node_default","groups","j","m","group","i","n","node","init_node","__esmMin","size_default","size","node","init_size","__esmMin","empty_default","init_empty","__esmMin","each_default","callback","groups","j","m","group","i","n","node","init_each","__esmMin","attrRemove","name","attrRemoveNS","fullname","attrConstant","value","attrConstantNS","attrFunction","v","attrFunctionNS","attr_default","namespace_default","node","init_attr","__esmMin","init_namespace","window_default","node","init_window","__esmMin","styleRemove","name","styleConstant","value","priority","styleFunction","v","style_default","styleValue","node","window_default","init_style","__esmMin","init_window","propertyRemove","name","propertyConstant","value","propertyFunction","v","property_default","init_property","__esmMin","classArray","string","classList","node","ClassList","classedAdd","names","list","n","classedRemove","classedTrue","classedFalse","classedFunction","value","classed_default","name","i","init_classed","__esmMin","textRemove","textConstant","value","textFunction","v","text_default","init_text","__esmMin","htmlRemove","htmlConstant","value","htmlFunction","v","html_default","init_html","__esmMin","raise","raise_default","init_raise","__esmMin","lower","lower_default","init_lower","__esmMin","append_default","name","create","creator_default","init_append","__esmMin","init_creator","constantNull","insert_default","name","before","create","creator_default","select","selector_default","init_insert","__esmMin","init_creator","init_selector","remove","parent","remove_default","init_remove","__esmMin","selection_cloneShallow","clone","parent","selection_cloneDeep","clone_default","deep","init_clone","__esmMin","datum_default","value","init_datum","__esmMin","contextListener","listener","event","parseTypenames","typenames","t","name","onRemove","typename","on","j","m","o","onAdd","value","options","on_default","i","n","init_on","__esmMin","dispatchEvent","node","type","params","window","window_default","event","dispatchConstant","dispatchFunction","dispatch_default","init_dispatch","__esmMin","init_window","iterator_default","groups","j","m","group","i","n","node","init_iterator","__esmMin","Selection","groups","parents","selection","root","selection_selection","selection_default","init_selection","__esmMin","init_select","init_selectAll","init_selectChild","init_selectChildren","init_filter","init_data","init_enter","init_exit","init_join","init_merge","init_order","init_sort","init_call","init_nodes","init_node","init_size","init_empty","init_each","init_attr","init_style","init_property","init_classed","init_text","init_html","init_raise","init_lower","init_append","init_insert","init_remove","init_clone","init_datum","init_on","init_dispatch","init_iterator","select_default","selectAll_default","selectChild_default","selectChildren_default","filter_default","data_default","enter_default","exit_default","join_default","merge_default","order_default","sort_default","call_default","nodes_default","node_default","size_default","empty_default","each_default","attr_default","style_default","property_default","classed_default","text_default","html_default","raise_default","lower_default","append_default","insert_default","remove_default","clone_default","datum_default","on_default","dispatch_default","iterator_default","select_default","selector","Selection","root","init_select","__esmMin","init_selection","sourceEvent_default","event","sourceEvent","init_sourceEvent","__esmMin","pointer_default","event","node","sourceEvent_default","svg","point","rect","init_pointer","__esmMin","init_sourceEvent","init_src","__esmMin","init_matcher","init_namespace","init_pointer","init_select","init_selection","init_selector","init_selectorAll","init_style","dispatch","i","_","t","Dispatch","parseTypenames","typenames","types","name","get","type","n","c","set","callback","noop","dispatch_default","init_dispatch","__esmMin","typename","T","copy","that","args","init_src","__esmMin","init_dispatch","noevent_default","event","init_noevent","__esmMin","nodrag_default","view","root","selection","select_default","noevent_default","yesdrag","noclick","init_nodrag","__esmMin","init_src","init_noevent","init_src","__esmMin","init_nodrag","define_default","constructor","factory","prototype","extend","parent","definition","key","init_define","__esmMin","Color","color_formatHex","color_formatHsl","hslConvert","color_formatRgb","color","format","m","l","reHex","rgbn","Rgb","rgba","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","hsla","reHslaPercent","named","n","r","g","b","a","rgbConvert","o","rgb","opacity","rgb_formatHex","hex","rgb_formatRgb","value","h","s","Hsl","min","max","hsl","hsl2rgb","m1","m2","darker","brighter","reI","reN","reP","init_color","__esmMin","init_define","define_default","channels","extend","k","init_src","__esmMin","init_color","basis","t1","v0","v1","v2","v3","t2","t3","basis_default","values","t","init_basis","__esmMin","basisClosed_default","values","t","v0","v1","v2","v3","basis","init_basisClosed","__esmMin","init_basis","constant_default","init_constant","__esmMin","x","linear","a","d","t","exponential","b","y","gamma","nogamma","constant_default","init_color","__esmMin","init_constant","rgbSpline","spline","colors","n","r","g","b","i","color","rgb","t","rgb_default","rgbBasis","rgbBasisClosed","init_rgb","__esmMin","init_src","init_basis","init_basisClosed","init_color","rgbGamma","y","gamma","start","end","opacity","nogamma","basis_default","basisClosed_default","numberArray_default","a","b","n","c","i","t","isNumberArray","x","init_numberArray","__esmMin","genericArray","a","b","nb","na","x","c","i","value_default","t","init_array","__esmMin","init_value","date_default","a","b","d","t","init_date","__esmMin","number_default","a","b","t","init_number","__esmMin","object_default","a","b","i","c","k","value_default","t","init_object","__esmMin","init_value","zero","b","one","t","string_default","a","bi","reA","reB","am","bm","bs","i","s","q","number_default","o","init_string","__esmMin","init_number","value_default","a","b","t","c","constant_default","number_default","color","rgb_default","string_default","date_default","isNumberArray","numberArray_default","genericArray","object_default","init_value","__esmMin","init_src","init_rgb","init_array","init_date","init_number","init_object","init_string","init_constant","init_numberArray","round_default","a","b","t","init_round","__esmMin","decompose_default","a","b","c","d","e","f","scaleX","scaleY","skewX","degrees","identity","init_decompose","__esmMin","parseCss","value","m","identity","decompose_default","parseSvg","svgNode","init_parse","__esmMin","init_decompose","interpolateTransform","parse","pxComma","pxParen","degParen","pop","s","translate","xa","ya","xb","yb","q","i","number_default","rotate","a","b","skewX","scale","t","n","o","interpolateTransformCss","interpolateTransformSvg","init_transform","__esmMin","init_number","init_parse","parseCss","parseSvg","init_src","__esmMin","init_value","init_number","init_round","init_string","init_transform","init_rgb","now","clockNow","setFrame","clearNow","clock","clockSkew","Timer","timer","callback","delay","time","t","timerFlush","frame","taskHead","e","wake","clockLast","timeout","nap","poke","pokeDelay","t0","t1","t2","taskTail","sleep","interval","init_timer","__esmMin","f","timeout_default","callback","delay","time","t","Timer","elapsed","init_timeout","__esmMin","init_timer","init_src","__esmMin","init_timer","init_timeout","schedule_default","node","name","id","index","group","timing","schedules","create","emptyOn","emptyTween","CREATED","init","schedule","get","set","STARTED","self","tween","timer","elapsed","SCHEDULED","start","i","j","n","o","stop","timeout_default","RUNNING","ENDED","tick","STARTING","t","ENDING","init_schedule","__esmMin","init_src","dispatch_default","interrupt_default","node","name","schedules","schedule","active","empty","i","STARTING","ENDING","ENDED","init_interrupt","__esmMin","init_schedule","interrupt_default","name","init_interrupt","__esmMin","tweenRemove","id","name","tween0","tween1","schedule","set","tween","i","n","tweenFunction","value","t","tween_default","get","tweenValue","transition","node","init_tween","__esmMin","init_schedule","interpolate_default","a","b","c","number_default","color","rgb_default","string_default","init_interpolate","__esmMin","init_src","attrRemove","name","attrRemoveNS","fullname","attrConstant","interpolate","value1","string00","string1","interpolate0","string0","attrConstantNS","attrFunction","value","string10","attrFunctionNS","attr_default","namespace_default","interpolateTransformSvg","interpolate_default","tweenValue","init_attr","__esmMin","init_src","init_tween","init_interpolate","attrInterpolate","name","i","t","attrInterpolateNS","fullname","attrTweenNS","value","t0","i0","tween","attrTween","attrTween_default","key","namespace_default","init_attrTween","__esmMin","init_src","delayFunction","id","value","init","delayConstant","delay_default","get","init_delay","__esmMin","init_schedule","durationFunction","id","value","set","durationConstant","duration_default","get","init_duration","__esmMin","init_schedule","easeConstant","id","value","set","ease_default","get","init_ease","__esmMin","init_schedule","easeVarying","id","value","v","set","easeVarying_default","init_easeVarying","__esmMin","init_schedule","filter_default","match","matcher_default","groups","m","subgroups","j","group","n","subgroup","node","i","Transition","init_filter","__esmMin","init_src","init_transition","merge_default","transition","groups0","groups1","m0","m1","m","merges","j","group0","group1","n","merge","node","i","Transition","init_merge","__esmMin","init_transition","start","name","t","i","onFunction","id","listener","on0","on1","sit","init","set","schedule","on","on_default","get","init_on","__esmMin","init_schedule","removeFunction","id","parent","i","remove_default","init_remove","__esmMin","select_default","select","name","id","selector_default","groups","m","subgroups","j","group","n","subgroup","node","subnode","i","schedule_default","get","Transition","init_select","__esmMin","init_src","init_transition","init_schedule","selectAll_default","select","name","id","selectorAll_default","groups","m","subgroups","parents","j","group","n","node","i","children","child","inherit","get","k","l","schedule_default","Transition","init_selectAll","__esmMin","init_src","init_transition","init_schedule","selection_default","Selection","init_selection","__esmMin","init_src","styleNull","name","interpolate","string00","string10","interpolate0","string0","styleValue","string1","styleRemove","styleConstant","value1","styleFunction","value","styleMaybeRemove","id","on0","on1","listener0","key","event","remove","schedule","set","on","listener","style_default","priority","interpolateTransformCss","interpolate_default","tweenValue","init_style","__esmMin","init_src","init_schedule","init_tween","init_interpolate","styleInterpolate","name","i","priority","t","styleTween","value","i0","tween","styleTween_default","key","init_styleTween","__esmMin","textConstant","value","textFunction","value1","text_default","tweenValue","init_text","__esmMin","init_tween","textInterpolate","i","t","textTween","value","t0","i0","tween","textTween_default","key","init_textTween","__esmMin","transition_default","name","id0","id1","newId","groups","m","j","group","n","node","i","inherit","get","schedule_default","Transition","init_transition","__esmMin","init_schedule","end_default","on0","on1","that","id","size","resolve","reject","cancel","end","schedule","set","on","init_end","__esmMin","init_schedule","Transition","groups","parents","name","id","transition","selection_default","newId","selection_prototype","init_transition","__esmMin","init_src","init_attr","init_attrTween","init_delay","init_duration","init_ease","init_easeVarying","init_filter","init_merge","init_on","init_remove","init_select","init_selectAll","init_selection","init_style","init_styleTween","init_text","init_textTween","init_tween","init_end","select_default","selectAll_default","filter_default","merge_default","transition_default","on_default","attr_default","attrTween_default","style_default","styleTween_default","text_default","textTween_default","remove_default","tween_default","delay_default","duration_default","ease_default","easeVarying_default","end_default","cubicInOut","init_cubic","__esmMin","init_src","__esmMin","init_cubic","inherit","node","id","timing","transition_default","name","Transition","newId","defaultTiming","now","groups","m","j","group","n","i","schedule_default","init_transition","__esmMin","init_schedule","init_src","cubicInOut","init_selection","__esmMin","init_src","init_interrupt","init_transition","selection_default","interrupt_default","transition_default","init_active","__esmMin","init_transition","init_schedule","init_src","__esmMin","init_selection","init_transition","init_active","init_interrupt","constant_default","init_constant","__esmMin","x","BrushEvent","type","sourceEvent","target","selection","mode","dispatch","init_event","__esmMin","nopropagation","event","noevent_default","init_noevent","__esmMin","number1","e","number2","type","defaultFilter","event","defaultExtent","svg","defaultTouchable","local","node","empty","extent","brushX","brush","X","dim","filter","touchable","keys","listeners","dispatch_default","handleSize","touchending","group","overlay","initialize","cursors","select_default","handle","d","redraw","started","touchmoved","touchended","selection","emitter","that","state","emit","selection0","selection1","i","value_default","tween","t","args","interrupt_default","clean","Emitter","mode","BrushEvent","MODE_DRAG","MODE_CENTER","MODE_HANDLE","signX","Y","signsX","signY","signsY","W","w0","w1","n0","n1","E","e0","e1","S","s0","s1","dx","dy","moving","shifting","lockX","lockY","points","pointer_default","pts","min","max","move","moved","ended","view","keydowned","keyupped","nodrag_default","p","point","abs","noevent_default","point0","MODE_SPACE","flipX","flipY","nopropagation","yesdrag","_","constant_default","value","XY","init_brush","__esmMin","init_src","init_constant","init_event","init_noevent","x","xy","y","init_src","__esmMin","init_brush","ascending_default","a","b","init_ascending","__esmMin","bisector_default","f","delta","compare","d","x","ascendingComparator","left","a","lo","hi","mid","right","center","i","ascending_default","init_bisector","__esmMin","init_ascending","number_default","x","init_number","__esmMin","ascendingBisect","bisectRight","bisectLeft","bisectCenter","bisect_default","init_bisect","__esmMin","init_ascending","init_bisector","init_number","bisector_default","ascending_default","number_default","ticks_default","start","stop","count","reverse","i","n","ticks","step","tickIncrement","r0","r1","power","error","e10","e5","e2","tickStep","step0","step1","init_ticks","__esmMin","max","values","valueof","value","index","init_max","__esmMin","quantileSorted","values","p","valueof","number_default","n","i","i0","value0","value1","init_quantile","__esmMin","init_number","range_default","start","stop","step","n","range","init_range","__esmMin","init_src","__esmMin","init_bisect","init_ascending","init_bisector","init_max","init_quantile","init_range","init_ticks","initRange","domain","range","init_init","__esmMin","ordinal","index","domain","range","unknown","implicit","scale","d","key","i","_","value","initRange","init_ordinal","__esmMin","init_init","band","scale","ordinal","domain","ordinalRange","r0","r1","step","bandwidth","round","paddingInner","paddingOuter","align","rescale","n","reverse","start","stop","values","range_default","i","_","initRange","pointish","copy","point","init_band","__esmMin","init_src","init_init","init_ordinal","constants","x","init_constant","__esmMin","number","x","init_number","__esmMin","identity","x","normalize","a","b","constants","clamper","t","bimap","domain","range","interpolate","d0","d1","r0","r1","polymap","j","d","r","i","bisect_default","copy","source","target","transformer","unit","value_default","transform","untransform","unknown","clamp","piecewise","output","input","rescale","n","scale","y","number_default","_","number","round_default","u","continuous","init_continuous","__esmMin","init_src","init_constant","init_number","formatDecimal_default","x","formatDecimalParts","p","i","coefficient","init_formatDecimal","__esmMin","exponent_default","x","formatDecimalParts","init_exponent","__esmMin","init_formatDecimal","formatGroup_default","grouping","thousands","value","width","i","t","j","g","length","init_formatGroup","__esmMin","formatNumerals_default","numerals","value","i","init_formatNumerals","__esmMin","formatSpecifier","specifier","match","re","FormatSpecifier","init_formatSpecifier","__esmMin","formatTrim_default","s","out","i","i0","i1","init_formatTrim","__esmMin","formatPrefixAuto_default","x","p","d","formatDecimalParts","coefficient","exponent","i","prefixExponent","n","init_formatPrefixAuto","__esmMin","init_formatDecimal","formatRounded_default","x","p","d","formatDecimalParts","coefficient","exponent","init_formatRounded","__esmMin","init_formatDecimal","formatTypes_default","init_formatTypes","__esmMin","init_formatDecimal","init_formatPrefixAuto","init_formatRounded","x","p","formatDecimal_default","formatRounded_default","formatPrefixAuto_default","identity_default","x","init_identity","__esmMin","locale_default","locale","group","identity_default","formatGroup_default","map","currencyPrefix","currencySuffix","decimal","numerals","formatNumerals_default","percent","minus","nan","newFormat","specifier","formatSpecifier","fill","align","sign","symbol","zero","width","comma","precision","trim","type","formatTypes_default","prefix","suffix","formatType","maybeSuffix","format","value","valuePrefix","valueSuffix","i","n","c","valueNegative","formatTrim_default","prefixes","prefixExponent","length","padding","formatPrefix","e","exponent_default","k","init_locale","__esmMin","init_exponent","init_formatGroup","init_formatNumerals","init_formatSpecifier","init_formatTrim","init_formatTypes","init_formatPrefixAuto","init_identity","defaultLocale","definition","locale","locale_default","format","formatPrefix","init_defaultLocale","__esmMin","init_locale","precisionFixed_default","step","exponent_default","init_precisionFixed","__esmMin","init_exponent","precisionPrefix_default","step","value","exponent_default","init_precisionPrefix","__esmMin","init_exponent","precisionRound_default","step","max","exponent_default","init_precisionRound","__esmMin","init_exponent","init_src","__esmMin","init_defaultLocale","init_formatSpecifier","init_precisionFixed","init_precisionPrefix","init_precisionRound","tickFormat","start","stop","count","specifier","step","tickStep","precision","formatSpecifier","value","precisionPrefix_default","formatPrefix","precisionRound_default","precisionFixed_default","format","init_tickFormat","__esmMin","init_src","linearish","scale","domain","count","d","ticks_default","specifier","tickFormat","i0","i1","start","stop","prestep","step","maxIter","tickIncrement","linear","continuous","copy","initRange","init_linear","__esmMin","init_src","init_continuous","init_init","init_tickFormat","nice","domain","interval","i0","i1","x0","x1","t","init_nice","__esmMin","quantile","domain","range","thresholds","unknown","rescale","i","n","quantileSorted","scale","x","bisect_default","y","_","d","ascending_default","initRange","init_quantile","__esmMin","init_src","init_init","newInterval","floori","offseti","count","field","interval","date","d0","d1","step","start","stop","range","previous","test","end","t0","t1","d","init_interval","__esmMin","millisecond","millisecond_default","milliseconds","init_millisecond","__esmMin","init_interval","newInterval","date","step","start","end","k","second","second_default","seconds","init_second","__esmMin","init_interval","newInterval","date","step","start","end","minute","minute_default","minutes","init_minute","__esmMin","init_interval","newInterval","date","step","start","end","hour","hour_default","hours","init_hour","__esmMin","init_interval","newInterval","date","step","start","end","day","day_default","days","init_day","__esmMin","init_interval","newInterval","date","step","start","end","weekday","i","newInterval","date","step","start","end","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","init_week","__esmMin","init_interval","month","month_default","months","init_month","__esmMin","init_interval","newInterval","date","step","start","end","year","year_default","years","init_year","__esmMin","init_interval","newInterval","date","step","start","end","k","utcMinute","utcMinute_default","utcMinutes","init_utcMinute","__esmMin","init_interval","newInterval","date","step","start","end","utcHour","utcHour_default","utcHours","init_utcHour","__esmMin","init_interval","newInterval","date","step","start","end","utcDay","utcDay_default","utcDays","init_utcDay","__esmMin","init_interval","newInterval","date","step","start","end","utcWeekday","i","newInterval","date","step","start","end","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","init_utcWeek","__esmMin","init_interval","utcMonth","utcMonth_default","utcMonths","init_utcMonth","__esmMin","init_interval","newInterval","date","step","start","end","utcYear","utcYear_default","utcYears","init_utcYear","__esmMin","init_interval","newInterval","date","step","start","end","k","ticker","year","month","week","day","hour","minute","tickIntervals","second_default","ticks","start","stop","count","reverse","interval","tickInterval","target","i","bisector_default","step","tickStep","millisecond_default","t","utcTicks","utcTickInterval","timeTicks","timeTickInterval","init_ticks","__esmMin","init_src","init_millisecond","init_second","init_minute","init_hour","init_day","init_week","init_month","init_year","init_utcMinute","init_utcHour","init_utcDay","init_utcWeek","init_utcMonth","init_utcYear","utcYear_default","utcMonth_default","utcSunday","utcDay_default","utcHour_default","utcMinute_default","year_default","month_default","sunday","day_default","hour_default","minute_default","init_src","__esmMin","init_second","init_minute","init_hour","init_day","init_week","init_month","init_year","init_utcDay","init_utcWeek","init_utcYear","init_ticks","localDate","d","date","utcDate","newDate","y","m","formatLocale","locale","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseYear","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","newFormat","specifier","string","i","j","n","c","pad","format","pads","newParse","Z","parseSpecifier","week","day","utcMonday","utcDay_default","monday","day_default","parse","f","p","value","fill","width","sign","length","requote","s","requoteRe","names","name","numberRe","percentRe","year_default","sunday","dISO","thursday","z","utcYear_default","dow","utcSunday","UTCdISO","utcThursday","init_locale","__esmMin","init_src","defaultLocale","definition","locale","formatLocale","timeFormat","timeParse","utcFormat","utcParse","init_defaultLocale","__esmMin","init_locale","init_src","__esmMin","init_defaultLocale","date","number","calendar","ticks","tickInterval","year","month","week","day","hour","minute","second","format","scale","continuous","invert","domain","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","formatYear","tickFormat","y","_","interval","d","count","specifier","nice","copy","time","initRange","timeTicks","timeTickInterval","year_default","month_default","sunday","day_default","hour_default","minute_default","second_default","timeFormat","init_time","__esmMin","init_src","init_continuous","init_init","init_nice","init_src","__esmMin","init_band","init_linear","init_ordinal","init_quantile","init_time","Path","path","pi","tau","epsilon","tauEpsilon","path_default","init_path","__esmMin","x","y","x1","y1","x2","y2","r","x0","y0","x21","y21","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","l","t01","t21","a0","a1","ccw","dx","dy","cw","da","w","h","init_src","__esmMin","init_path","constant_default","x","init_constant","__esmMin","acos","x","pi","asin","halfPi","abs","atan2","cos","max","min","sin","sqrt","epsilon","tau","init_math","__esmMin","arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","epsilon","cornerTangents","r1","rc","cw","x01","y01","lo","sqrt","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","max","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","arc_default","innerRadius","outerRadius","cornerRadius","constant_default","padRadius","startAngle","endAngle","padAngle","context","arc","buffer","r0","a0","halfPi","a1","da","abs","path_default","tau","cos","sin","a01","a11","a00","a10","da0","da1","ap","rp","min","rc0","rc1","t0","t1","p0","asin","p1","oc","pi","ax","ay","bx","by","kc","acos","lc","atan2","a","_","init_arc","__esmMin","init_src","init_constant","init_math","array_default","x","slice","init_array","__esmMin","Linear","context","linear_default","init_linear","__esmMin","x","y","x","p","y","init_point","__esmMin","line_default","x","y","defined","constant_default","context","curve","linear_default","output","line","data","i","n","array_default","d","defined0","buffer","path_default","_","init_line","__esmMin","init_src","init_array","init_constant","init_linear","init_point","area_default","x0","y0","y1","x1","defined","constant_default","context","curve","linear_default","output","x","y","area","data","i","j","k","n","array_default","d","defined0","buffer","x0z","y0z","path_default","arealine","line_default","_","init_area","__esmMin","init_src","init_array","init_constant","init_linear","init_line","init_point","descending_default","a","b","init_descending","__esmMin","identity_default","d","init_identity","__esmMin","pie_default","value","identity_default","sortValues","descending_default","sort","startAngle","constant_default","endAngle","tau","padAngle","pie","data","i","n","array_default","j","k","sum","index","arcs","a0","da","a1","p","pa","v","_","init_pie","__esmMin","init_array","init_constant","init_descending","init_identity","init_math","init_src","__esmMin","init_arc","init_area","init_line","init_pie","init_linear","require_kind_of","__commonJSMin","exports","module","toString","val","type","isGeneratorFn","isArray","isBuffer","isArguments","isDate","isError","isRegexp","ctorName","isGeneratorObj","name","err","require_shallow_clone","__commonJSMin","exports","module","valueOf","typeOf","clone","val","deep","cloneBuffer","cloneSymbol","cloneArrayBuffer","cloneTypedArray","cloneRegExp","flags","re","res","len","buf","require_isobject","__commonJSMin","exports","module","val","require_is_plain_object","__commonJSMin","exports","module","isObject","isObjectObject","o","ctor","prot","require_clone_deep","__commonJSMin","exports","module","clone","typeOf","isPlainObject","cloneDeep","val","instanceClone","cloneObjectDeep","cloneArrayDeep","res","key","TooltipContentComponent_span_4_ng_template_1_Template","rf","ctx","TooltipContentComponent_span_4_Template","ɵɵelementStart","ɵɵtemplate","ɵɵelementEnd","ctx_r0","ɵɵnextContext","ɵɵadvance","ɵɵproperty","ɵɵpureFunction1","_c1","TooltipContentComponent_span_5_Template","ɵɵelement","ɵɵsanitizeHtml","LegendComponent_header_1_Template","ɵɵtext","ɵɵtextInterpolate","LegendComponent_li_4_Template","_r2","ɵɵgetCurrentView","ɵɵlistener","$event","ɵɵrestoreView","ɵɵresetView","entry_r3","ChartComponent_ngx_charts_scale_legend_3_Template","ChartComponent_ngx_charts_legend_4_Template","XAxisTicksComponent__svg_g_2_Template","ɵɵnamespaceSVG","tick_r1","ctx_r1","ɵɵattribute","ɵɵstyleProp","ɵɵtextInterpolate1","XAxisTicksComponent__svg_g_3__svg_g_1_Template","XAxisTicksComponent__svg_g_3_Template","tick_r3","XAxisComponent__svg_g_1_Template","_r1","XAxisComponent__svg_g_2_Template","YAxisTicksComponent__svg_g_2_Template","YAxisTicksComponent__svg_path_3_Template","YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_1_Template","YAxisTicksComponent__svg_g_4__svg_g_1__svg_line_2_Template","YAxisTicksComponent__svg_g_4__svg_g_1_Template","YAxisTicksComponent__svg_g_4_Template","YAxisTicksComponent__svg_g_5__svg_g_1__svg_g_2_Template","refLine_r4","YAxisTicksComponent__svg_g_5__svg_g_1_Template","YAxisTicksComponent__svg_g_5_Template","YAxisComponent__svg_g_1_Template","YAxisComponent__svg_g_2_Template","SvgLinearGradientComponent__svg_stop_1_Template","stop_r1","CircleSeriesComponent__svg_g_0__svg_rect_3_Template","CircleSeriesComponent__svg_g_0__svg_rect_4_Template","CircleSeriesComponent__svg_g_0_Template","ɵɵclassProp","_c12","SvgRadialGradientComponent__svg_stop_1_Template","AreaComponent__svg_defs_0_Template","TooltipArea__svg_ng_template_2_div_1_Template","tooltipItem_r2","ctx_r2","TooltipArea__svg_ng_template_2_Template","model_r4","AdvancedLegendComponent_div_1_Template","AdvancedLegendComponent_div_2_Template","AdvancedLegendComponent_div_7_div_2_Template","legendItem_r3","AdvancedLegendComponent_div_7_div_3_Template","AdvancedLegendComponent_div_7_div_6_Template","AdvancedLegendComponent_div_7_div_7_Template","AdvancedLegendComponent_div_7_Template","AreaChartComponent__svg_g_5_Template","AreaChartComponent__svg_g_6_Template","_r3","AreaChartComponent__svg_g_8_Template","series_r4","AreaChartComponent__svg_g_9__svg_g_2_Template","_r6","series_r7","AreaChartComponent__svg_g_9_Template","_r5","AreaChartComponent__svg_g_10__svg_g_1_Template","series_r9","AreaChartComponent__svg_g_10_Template","_r8","ɵɵpureFunction2","_c24","AreaChartStackedComponent__svg_g_5_Template","AreaChartStackedComponent__svg_g_6_Template","AreaChartStackedComponent__svg_g_8_Template","AreaChartStackedComponent__svg_g_9__svg_g_2_Template","AreaChartStackedComponent__svg_g_9_Template","AreaChartStackedComponent__svg_g_10__svg_g_1_Template","AreaChartStackedComponent__svg_g_10_Template","BarComponent__svg_defs_0_Template","SeriesHorizontal__svg_g_0_Template","bar_r3","SeriesHorizontal__svg_g_1__svg_g_1_Template","_r4","i_r5","b_r6","SeriesHorizontal__svg_g_1_Template","BarHorizontalComponent__svg_g_2_Template","BarHorizontalComponent__svg_g_3_Template","BarHorizontalNormalizedComponent__svg_g_2_Template","BarHorizontalNormalizedComponent__svg_g_3_Template","BarHorizontalNormalizedComponent__svg_g_4__svg_g_1_Template","group_r5","BarHorizontalNormalizedComponent__svg_g_4_Template","BarHorizontalNormalizedComponent__svg_g_5__svg_g_1_Template","group_r7","BarHorizontalNormalizedComponent__svg_g_5_Template","SeriesVerticalComponent__svg_g_0__svg_g_1_Template","SeriesVerticalComponent__svg_g_0_Template","SeriesVerticalComponent__svg_g_1__svg_g_1_Template","bar_r5","SeriesVerticalComponent__svg_g_1_Template","SeriesVerticalComponent__svg_g_2__svg_g_1_Template","i_r7","b_r8","SeriesVerticalComponent__svg_g_2_Template","BarVerticalComponent__svg_g_2_Template","BarVerticalComponent__svg_g_3_Template","BarVerticalStackedComponent__svg_g_2_Template","BarVerticalStackedComponent__svg_g_3_Template","BarVerticalStackedComponent__svg_g_4__svg_g_1_Template","index_r6","BarVerticalStackedComponent__svg_g_4_Template","BarVerticalStackedComponent__svg_g_5__svg_g_1_Template","_r7","group_r8","index_r9","BarVerticalStackedComponent__svg_g_5_Template","LineComponent__svg_g_0_Template","LineComponent__svg_g_1_Template","LineSeriesComponent__svg_g_2_Template","LineSeriesComponent__svg_g_5_Template","LineChartComponent__svg_g_5_Template","LineChartComponent__svg_g_6_Template","LineChartComponent__svg_g_8__svg_g_1_Template","LineChartComponent__svg_g_8_Template","LineChartComponent__svg_g_9__svg_g_1_Template","series_r5","LineChartComponent__svg_g_9_Template","LineChartComponent__svg_g_10__svg_g_2_Template","series_r8","LineChartComponent__svg_g_10_Template","LineChartComponent__svg_g_11__svg_g_1_Template","series_r10","LineChartComponent__svg_g_11_Template","_r9","PieArcComponent__svg_defs_1_Template","PieSeriesComponent__svg_g_0__svg_g_1_Template","arc_r2","PieSeriesComponent__svg_g_0_Template","throttle","func","wait","options","context","args","result","timeout","previous","later","now","remaining","throttleable","duration","target","key","descriptor","verticalPosition","elDimensions","popoverDimensions","alignment","PlacementTypes","caretOffset","horizontalPosition","isViewContainerRef","x","formatLabel","label","escapeLabel","match","isDate","value","isNumber","trimLabel","s","max","reduceTicks","ticks","maxTicks","reduced","modulus","i","roundedRect","y","w","h","r","tl","tr","bl","br","retval","id","newId","cache","easeOutExpo","b","c","d","count","countFrom","countTo","countDecimals","countDuration","callback","startVal","endVal","countDown","decimals","dec","startTime","runCount","timestamp","frameVal","progress","tick","val","decimalChecker","createMouseEvent","name","bubbles","cancelable","MouseEvent","event","calculateViewDimensions","width","height","margins","showXAxis","showYAxis","xAxisHeight","yAxisWidth","showXLabel","showYLabel","showLegend","legendType","ScaleType","legendPosition","LegendPosition","columns","xOffset","chartWidth","chartHeight","getUniqueXDomainValues","results","valueSet","getScaleType","values","checkDateType","sortLinear","data","property","direction","a","sortByDomain","domain","aVal","bVal","aIdx","bIdx","sortByTime","aDate","bDate","ngxChartsPolyfills","import_clone_deep","_c0","_c2","_c3","_c4","_c5","_c6","_c7","_c8","_c9","_c10","_c11","_c15","_c16","_c17","_c18","_c19","_c20","_c21","_c22","_c23","_c25","_c26","_c27","_c28","_c29","_c36","_c37","_c38","_c40","_c41","_c42","PositionHelper","TooltipContentComponent","InjectionRegisteryService","InjectionService","TooltipService","LegendType","ScaleLegendComponent","LegendEntryComponent","LegendComponent","ChartComponent","VisibilityObserver","BaseChartComponent","Orientation","AxisLabelComponent","TextAnchor","XAxisTicksComponent","XAxisComponent","YAxisTicksComponent","YAxisComponent","AxesModule","StyleTypes","ShowTypes","TooltipDirective","TooltipModule","BarOrientation","SvgLinearGradientComponent","CircleComponent","SeriesType","CircleSeriesComponent","SvgRadialGradientComponent","AreaComponent","CountUpDirective","root","TooltipArea","Timeline","AdvancedLegendComponent","ChartCommonModule","colorSets","ColorHelper","AreaSeriesComponent","AreaChartComponent","AreaChartStackedComponent","AreaChartModule","BarComponent","BarChartType","D0Types","BarLabelComponent","SeriesHorizontal","BarHorizontalComponent","BarHorizontalNormalizedComponent","SeriesVerticalComponent","BarVerticalComponent","BarVerticalStackedComponent","BarChartModule","BoxChartModule","BubbleChartModule","HeatMapModule","LineComponent","LineSeriesComponent","LineChartComponent","LineChartModule","PieLabelComponent","twoPI","PieArcComponent","PieSeriesComponent","AdvancedPieChartComponent","PieChartComponent","PieChartModule","PolarChartModule","NumberCardModule","TreeMapModule","GaugeModule","NgxChartsModule","init_swimlane_ngx_charts","__esmMin","init_core","init_common","init_tslib_es6","init_portal","init_esm","init_operators","init_animations","init_src","a0","a1","_PositionHelper","caretDimensions","popoverPosition","placement","spacing","flip","elmDim","hostDim","top","left","element","renderer","platformId","clz","isPlatformBrowser","nativeElm","caretElm","t","ɵɵdirectiveInject","ElementRef","Renderer2","PLATFORM_ID","ɵɵdefineComponent","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵresolveWindow","ɵɵclassMap","ɵɵclassMapInterpolate1","NgIf","NgTemplateOutlet","__decorate","injectionService","type","bindings","component","instance","compsByType","idx","comps","inputs","__spreadValues","outputs","applicationRef","componentFactoryResolver","injector","container","bindingKeys","bindingName","eventKeys","eventName","componentClass","location","appendLocation","portalHost","DomPortalOutlet","portal","ComponentPortal","componentRef","ɵɵinject","ApplicationRef","ComponentFactoryResolver$1","Injector","ɵɵdefineInjectable","changes","gradientValues","colors","splits","pairs","ɵɵNgOnChangesFeature","EventEmitter","cd","items","formattedLabel","entry","item","index","ChangeDetectorRef","NgForOf","legendColumns","chartColumns","ɵɵProvidersFeature","ɵɵprojectionDef","ɵɵprojection","zone","check","offsetHeight","offsetWidth","NgZone","ɵɵdefineDirective","chartElement","isPlatformServer","dims","hostElem","g","j","subscription","fromEvent","debounceTime","e","copy","seriesItem","seriesItemCopy","scale","angle","tickLength","wordWidth","baseWidth","maxBaseWidth","maxScaleTicks","tickWidth","newLabelOffset","sign","tickHeight","ɵɵdefineNgModule","ɵɵdefineInjector","CommonModule","tooltipService","viewContainerRef","immediate","time","tooltip","destroyFn","ViewContainerRef","indexActiveDataPoint","seriesName","tooltipLabel","cx","cy","radius","opacity","color","min","trigger","transition","style","animate","node","select_default","valueFormatting","finished","xVal","group","groupName","v","xPos","closestIndex","closestPoint","ev","minIndex","maxIndex","minDiff","currentIndex","currentElement","curDiff","tooltipItem","ɵɵtemplateRefExtractor","defaultTooltipTemplate_r5","ɵɵreference","offsetY","linear","point","brushX","selection","newDomain","percentage","sum","scheme","customColors","cs","colorScale","quantile","ordinal","colorDomain","points","range_default","valueScale","formattedValue","found","mapping","start","colorValueScale","band","endColor","startColor","currentVal","stops","offset","currentArea","startingArea","xProperty","area_default","d0values","d1values","linear_default","date","num","series","opts","ɵAreaChartComponent_BaseFactory","ɵɵgetInheritedFactory","dirIndex","ɵɵcontentQuery","ɵɵInheritDefinitionFeature","d0","ɵAreaChartStackedComponent_BaseFactory","path","edges","d0Type","total","xScaleMin","roundEdges","bar","offset0","offset1","section","totalPositive","totalNegative","active","dataItem","barLabel","fromLegend","ɵBarHorizontalComponent_BaseFactory","ɵBarHorizontalNormalizedComponent_BaseFactory","yScaleMin","ɵBarVerticalComponent_BaseFactory","smallest","biggest","smallestSum","biggestSum","groupIndex","ɵBarVerticalStackedComponent_BaseFactory","lineGen","areaGen","range","line_default","ɵLineChartComponent_BaseFactory","isIE","startRadius","innerPos","arc_default","outerPos","calc","outerRadius","copyOfD","interpolater","value_default","arcData","pie_default","pieData","labelPositions","o","myArc","yOffset","ɵAdvancedPieChartComponent_BaseFactory","ɵɵnamespaceHTML","ɵPieChartComponent_BaseFactory"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189]}