Hacked By AnonymousFox
{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highcharts JS v12.1.2 (2025-01-09)\n * @module highcharts/modules/dependency-wheel\n * @requires highcharts\n * @requires highcharts/modules/sankey\n *\n * Dependency wheel module\n *\n * (c) 2010-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"highcharts\"), require(\"highcharts\")[\"SeriesRegistry\"], require(\"highcharts\")[\"SVGElement\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/modules/dependency-wheel\", [[\"highcharts/highcharts\"], [\"highcharts/highcharts\",\"SeriesRegistry\"], [\"highcharts/highcharts\",\"SVGElement\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/modules/dependency-wheel\"] = factory(require(\"highcharts\"), require(\"highcharts\")[\"SeriesRegistry\"], require(\"highcharts\")[\"SVGElement\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"SeriesRegistry\"], root[\"Highcharts\"][\"SVGElement\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__512__, __WEBPACK_EXTERNAL_MODULE__28__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 28:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__28__;\n\n/***/ }),\n\n/***/ 512:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__512__;\n\n/***/ }),\n\n/***/ 944:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__944__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ dependency_wheel_src; }\n});\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\"],\"commonjs\":[\"highcharts\"],\"commonjs2\":[\"highcharts\"],\"root\":[\"Highcharts\"]}\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_ = __webpack_require__(944);\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default = /*#__PURE__*/__webpack_require__.n(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SeriesRegistry\"],\"commonjs\":[\"highcharts\",\"SeriesRegistry\"],\"commonjs2\":[\"highcharts\",\"SeriesRegistry\"],\"root\":[\"Highcharts\",\"SeriesRegistry\"]}\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_ = __webpack_require__(512);\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default = /*#__PURE__*/__webpack_require__.n(highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_);\n;// ./code/es5/es-modules/Series/DependencyWheel/DependencyWheelPoint.js\n/* *\n *\n * Dependency wheel module\n *\n * (c) 2018-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar SankeyPoint = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.sankey.prototype.pointClass;\n\nvar pInt = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pInt, wrap = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).wrap;\n/* *\n *\n * Class\n *\n * */\nvar DependencyWheelPoint = /** @class */ (function (_super) {\n __extends(DependencyWheelPoint, _super);\n function DependencyWheelPoint() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Return a text path that the data label uses.\n * @private\n */\n DependencyWheelPoint.prototype.getDataLabelPath = function (label) {\n var _a;\n var point = this,\n renderer = point.series.chart.renderer,\n shapeArgs = point.shapeArgs,\n upperHalf = point.angle < 0 || point.angle > Math.PI,\n start = shapeArgs.start || 0,\n end = shapeArgs.end || 0;\n // First time\n if (!point.dataLabelPath) {\n // Destroy the path with the label\n wrap(label, 'destroy', function (proceed) {\n if (point.dataLabelPath) {\n point.dataLabelPath = point.dataLabelPath.destroy();\n }\n return proceed.call(this);\n });\n // Subsequent times\n }\n else {\n point.dataLabelPath = point.dataLabelPath.destroy();\n delete point.dataLabelPath;\n }\n // All times\n point.dataLabelPath = renderer\n .arc({\n open: true,\n longArc: Math.abs(Math.abs(start) - Math.abs(end)) < Math.PI ? 0 : 1\n })\n .attr({\n x: shapeArgs.x,\n y: shapeArgs.y,\n r: ((shapeArgs.r || 0) + pInt(((_a = label.options) === null || _a === void 0 ? void 0 : _a.distance) || 0)),\n start: (upperHalf ? start : end),\n end: (upperHalf ? end : start),\n clockwise: +upperHalf\n })\n .add(renderer.defs);\n return point.dataLabelPath;\n };\n DependencyWheelPoint.prototype.isValid = function () {\n // No null points here\n return true;\n };\n return DependencyWheelPoint;\n}(SankeyPoint));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var DependencyWheel_DependencyWheelPoint = (DependencyWheelPoint);\n\n;// ./code/es5/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js\n/* *\n *\n * Dependency wheel module\n *\n * (c) 2018-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n/* *\n *\n * API Options\n *\n * */\n/**\n * A dependency wheel chart is a type of flow diagram, where all nodes are laid\n * out in a circle, and the flow between the are drawn as link bands.\n *\n * @sample highcharts/demo/dependency-wheel/\n * Dependency wheel\n *\n * @extends plotOptions.sankey\n * @exclude dataSorting, nodeAlignment, nodeDistance\n * @since 7.1.0\n * @product highcharts\n * @requires modules/dependency-wheel\n * @optionparent plotOptions.dependencywheel\n */\nvar DependencyWheelSeriesDefaults = {\n /**\n * The corner radius of the border surrounding each node. A number\n * signifies pixels. A percentage string, like for example `50%`, signifies\n * a relative size. For nodes this is relative to the node width.\n *\n * @type {number|string|Highcharts.BorderRadiusOptionsObject}\n * @default 3\n * @product highcharts\n * @since 11.0.0\n * @apioption plotOptions.dependencywheel.borderRadius\n */\n /**\n * Distance between the data label and the center of the node.\n *\n * @type {number}\n * @default 0\n * @apioption plotOptions.dependencywheel.dataLabels.distance\n */\n /**\n * A format string for data labels of the links between nodes. Available\n * variables are the same as for `formatter`.\n *\n * @see [nodeFormat](#nodeFormat) for formatting node labels\n *\n * @apioption plotOptions.dependencywheel.dataLabels.format\n */\n /**\n * Callback to format data labels of the links between nodes. The `format`\n * option takes precedence over the `formatter` option.\n *\n * @see [nodeFormatter](#nodeFormatter) for formatting node labels\n *\n * @apioption plotOptions.dependencywheel.dataLabels.formatter\n */\n /**\n * The format string specifying what to show for nodes in the sankey\n * diagram. By default the nodeFormatter returns `{point.name}`. Available\n * variables are the same as for `nodeFormatter`.\n *\n * @apioption plotOptions.dependencywheel.dataLabels.nodeFormat\n */\n /**\n * Callback to format data labels of nodes in the dependency wheel. The\n * `nodeFormat` option takes precedence over the `nodeFormatter` option.\n *\n * @apioption plotOptions.dependencywheel.dataLabels.nodeFormatter\n */\n /**\n * Size of the wheel in pixel or percent relative to the canvas space.\n *\n * @type {number|string}\n * @default 100%\n * @apioption plotOptions.dependencywheel.size\n */\n /**\n * The center of the wheel relative to the plot area. Can be\n * percentages or pixel values. The default behaviour is to\n * center the wheel inside the plot area.\n *\n * @type {Array<number|string|null>}\n * @default [null, null]\n * @product highcharts\n */\n center: [null, null],\n curveFactor: 0.6,\n /**\n * The start angle of the dependency wheel, in degrees where 0 is up.\n */\n startAngle: 0,\n dataLabels: {\n textPath: {\n /**\n * Enable or disable `textPath` option for link's or marker's data\n * labels.\n *\n * @type {boolean}\n * @default false\n * @since 7.1.0\n * @apioption plotOptions.series.dataLabels.textPath.enabled\n */\n enabled: false,\n attributes: {\n /**\n * Text path shift along its y-axis.\n *\n * @type {Highcharts.SVGAttributes}\n * @default 5\n * @since 7.1.0\n * @apioption plotOptions.dependencywheel.dataLabels.textPath.attributes.dy\n */\n dy: 5\n }\n }\n }\n};\n/**\n * A `dependencywheel` series. If the [type](#series.dependencywheel.type)\n * option is not specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.dependencywheel\n * @exclude dataSorting\n * @product highcharts\n * @requires modules/sankey\n * @requires modules/dependency-wheel\n * @apioption series.dependencywheel\n */\n/**\n * A collection of options for the individual nodes. The nodes in a dependency\n * diagram are auto-generated instances of `Highcharts.Point`, but options can\n * be applied here and linked by the `id`.\n *\n * @extends series.sankey.nodes\n * @type {Array<*>}\n * @product highcharts\n * @excluding offset\n * @apioption series.dependencywheel.nodes\n */\n/**\n * An array of data points for the series. For the `dependencywheel` series\n * type, points can be given in the following way:\n *\n * An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of data\n * points exceeds the series' [turboThreshold](#series.area.turboThreshold),\n * this option is not available.\n *\n * ```js\n * data: [{\n * from: 'Category1',\n * to: 'Category2',\n * weight: 2\n * }, {\n * from: 'Category1',\n * to: 'Category3',\n * weight: 5\n * }]\n * ```\n *\n * @type {Array<Array<string,string,number>|*>}\n * @extends series.sankey.data\n * @product highcharts\n * @excluding outgoing, dataLabels\n * @apioption series.dependencywheel.data\n */\n/**\n * Individual data label for each node. The options are the same as\n * the ones for [series.dependencywheel.dataLabels](#series.dependencywheel.dataLabels).\n *\n * @apioption series.dependencywheel.nodes.dataLabels\n */\n''; // Keeps doclets above separate\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var DependencyWheel_DependencyWheelSeriesDefaults = (DependencyWheelSeriesDefaults);\n\n;// ./code/es5/es-modules/Series/Sankey/SankeyColumnComposition.js\n/* *\n *\n * Sankey diagram module\n *\n * (c) 2010-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, getAlignFactor = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getAlignFactor, relativeLength = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).relativeLength;\n/* *\n *\n * Composition\n *\n * */\nvar SankeyColumnComposition;\n(function (SankeyColumnComposition) {\n /* *\n *\n * Declarations\n *\n * */\n /* *\n *\n * Functions\n *\n * */\n /**\n * SankeyColumn Composition\n * @private\n * @function Highcharts.SankeyColumn#compose\n *\n * @param {Array<SankeyPoint>} points\n * The array of nodes\n * @param {SankeySeries} series\n * Series connected to column\n * @return {ArrayComposition} SankeyColumnArray\n */\n function compose(points, series) {\n var sankeyColumnArray = points;\n sankeyColumnArray.sankeyColumn =\n new SankeyColumnAdditions(sankeyColumnArray, series);\n return sankeyColumnArray;\n }\n SankeyColumnComposition.compose = compose;\n /* *\n *\n * Classes\n *\n * */\n var SankeyColumnAdditions = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function SankeyColumnAdditions(points, series) {\n this.points = points;\n this.series = series;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Calculate translation factor used in column and nodes distribution\n * @private\n * @function Highcharts.SankeyColumn#getTranslationFactor\n *\n * @param {SankeySeries} series\n * The Series\n * @return {number} TranslationFactor\n * Translation Factor\n */\n SankeyColumnAdditions.prototype.getTranslationFactor = function (series) {\n var column = this.points,\n nodes = column.slice(),\n chart = series.chart,\n minLinkWidth = series.options.minLinkWidth || 0;\n var skipPoint,\n factor = 0,\n i,\n remainingHeight = ((chart.plotSizeY || 0) -\n (series.options.borderWidth || 0) -\n (column.length - 1) * series.nodePadding);\n // Because the minLinkWidth option doesn't obey the direct\n // translation, we need to run translation iteratively, check\n // node heights, remove those nodes affected by minLinkWidth,\n // check again, etc.\n while (column.length) {\n factor = remainingHeight / column.sankeyColumn.sum();\n skipPoint = false;\n i = column.length;\n while (i--) {\n if (column[i].getSum() * factor < minLinkWidth) {\n column.splice(i, 1);\n remainingHeight =\n Math.max(0, remainingHeight - minLinkWidth);\n skipPoint = true;\n }\n }\n if (!skipPoint) {\n break;\n }\n }\n // Re-insert original nodes\n column.length = 0;\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var node = nodes_1[_i];\n column.push(node);\n }\n return factor;\n };\n /**\n * Get the top position of the column in pixels\n * @private\n * @function Highcharts.SankeyColumn#top\n *\n * @param {number} factor\n * The Translation Factor\n * @return {number} top\n * The top position of the column\n */\n SankeyColumnAdditions.prototype.top = function (factor) {\n var series = this.series,\n nodePadding = series.nodePadding,\n height = this.points.reduce(function (height,\n node) {\n if (height > 0) {\n height += nodePadding;\n }\n var nodeHeight = Math.max(node.getSum() * factor,\n series.options.minLinkWidth || 0);\n height += nodeHeight;\n return height;\n }, 0);\n // Node alignment option handling #19096\n return getAlignFactor(series.options.nodeAlignment || 'center') * ((series.chart.plotSizeY || 0) - height);\n };\n /**\n * Get the left position of the column in pixels\n * @private\n * @function Highcharts.SankeyColumn#top\n *\n * @param {number} factor\n * The Translation Factor\n * @return {number} left\n * The left position of the column\n */\n SankeyColumnAdditions.prototype.left = function (factor) {\n var series = this.series,\n chart = series.chart,\n equalNodes = series.options.equalNodes,\n maxNodesLength = (chart.inverted ? chart.plotHeight : chart.plotWidth),\n nodePadding = series.nodePadding,\n width = this.points.reduce(function (width,\n node) {\n if (width > 0) {\n width += nodePadding;\n }\n var nodeWidth = equalNodes ?\n maxNodesLength / node.series.nodes.length -\n nodePadding :\n Math.max(node.getSum() * factor,\n series.options.minLinkWidth || 0);\n width += nodeWidth;\n return width;\n }, 0);\n return ((chart.plotSizeX || 0) - Math.round(width)) / 2;\n };\n /**\n * Calculate sum of all nodes inside specific column\n * @private\n * @function Highcharts.SankeyColumn#sum\n *\n * @param {ArrayComposition} this\n * Sankey Column Array\n *\n * @return {number} sum\n * Sum of all nodes inside column\n */\n SankeyColumnAdditions.prototype.sum = function () {\n return this.points.reduce(function (sum, node) { return (sum + node.getSum()); }, 0);\n };\n /**\n * Get the offset in pixels of a node inside the column\n * @private\n * @function Highcharts.SankeyColumn#offset\n *\n * @param {SankeyPoint} node\n * Sankey node\n * @param {number} factor\n * Translation Factor\n * @return {number} offset\n * Offset of a node inside column\n */\n SankeyColumnAdditions.prototype.offset = function (node, factor) {\n var column = this.points,\n series = this.series,\n nodePadding = series.nodePadding;\n var offset = 0,\n totalNodeOffset;\n if (series.is('organization') && node.hangsFrom) {\n return {\n absoluteTop: node.hangsFrom.nodeY\n };\n }\n for (var i = 0; i < column.length; i++) {\n var sum = column[i].getSum();\n var height = Math.max(sum * factor,\n series.options.minLinkWidth || 0);\n var directionOffset = node.options[series.chart.inverted ?\n 'offsetHorizontal' :\n 'offsetVertical'],\n optionOffset = node.options.offset || 0;\n if (sum) {\n totalNodeOffset = height + nodePadding;\n }\n else {\n // If node sum equals 0 nodePadding is missed #12453\n totalNodeOffset = 0;\n }\n if (column[i] === node) {\n return {\n relativeTop: offset + (defined(directionOffset) ?\n // `directionOffset` is a percent of the node\n // height\n relativeLength(directionOffset, height) :\n relativeLength(optionOffset, totalNodeOffset))\n };\n }\n offset += totalNodeOffset;\n }\n };\n return SankeyColumnAdditions;\n }());\n SankeyColumnComposition.SankeyColumnAdditions = SankeyColumnAdditions;\n})(SankeyColumnComposition || (SankeyColumnComposition = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Sankey_SankeyColumnComposition = (SankeyColumnComposition);\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SVGElement\"],\"commonjs\":[\"highcharts\",\"SVGElement\"],\"commonjs2\":[\"highcharts\",\"SVGElement\"],\"root\":[\"Highcharts\",\"SVGElement\"]}\nvar highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_ = __webpack_require__(28);\nvar highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_default = /*#__PURE__*/__webpack_require__.n(highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_);\n;// ./code/es5/es-modules/Extensions/TextPath.js\n/* *\n *\n * Highcharts module with textPath functionality.\n *\n * (c) 2009-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\nvar deg2rad = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).deg2rad;\nvar addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, uniqueKey = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).uniqueKey, TextPath_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend;\n/**\n * Set a text path for a `text` or `label` element, allowing the text to\n * flow along a path.\n *\n * In order to unset the path for an existing element, call `setTextPath`\n * with `{ enabled: false }` as the second argument.\n *\n * Text path support is not bundled into `highcharts.js`, and requires the\n * `modules/textpath.js` file. However, it is included in the script files of\n * those series types that use it by default\n *\n * @sample highcharts/members/renderer-textpath/ Text path demonstrated\n *\n * @function Highcharts.SVGElement#setTextPath\n *\n * @param {Highcharts.SVGElement|undefined} path\n * Path to follow. If undefined, it allows changing options for the\n * existing path.\n *\n * @param {Highcharts.DataLabelsTextPathOptionsObject} textPathOptions\n * Options.\n *\n * @return {Highcharts.SVGElement} Returns the SVGElement for chaining.\n */\nfunction setTextPath(path, textPathOptions) {\n var _this = this;\n // Defaults\n textPathOptions = merge(true, {\n enabled: true,\n attributes: {\n dy: -5,\n startOffset: '50%',\n textAnchor: 'middle'\n }\n }, textPathOptions);\n var url = this.renderer.url,\n textWrapper = this.text || this,\n textPath = textWrapper.textPath,\n attributes = textPathOptions.attributes,\n enabled = textPathOptions.enabled;\n path = path || (textPath && textPath.path);\n // Remove previously added event\n if (textPath) {\n textPath.undo();\n }\n if (path && enabled) {\n var undo = addEvent(textWrapper, 'afterModifyTree',\n function (e) {\n if (path && enabled) {\n // Set ID for the path\n var textPathId = path.attr('id');\n if (!textPathId) {\n path.attr('id', textPathId = uniqueKey());\n }\n // Set attributes for the <text>\n var textAttribs = {\n // `dx`/`dy` options must by set on <text> (parent), the\n // rest should be set on <textPath>\n x: 0,\n y: 0\n };\n if (TextPath_defined(attributes.dx)) {\n textAttribs.dx = attributes.dx;\n delete attributes.dx;\n }\n if (TextPath_defined(attributes.dy)) {\n textAttribs.dy = attributes.dy;\n delete attributes.dy;\n }\n textWrapper.attr(textAttribs);\n // Handle label properties\n _this.attr({ transform: '' });\n if (_this.box) {\n _this.box = _this.box.destroy();\n }\n // Wrap the nodes in a textPath\n var children = e.nodes.slice(0);\n e.nodes.length = 0;\n e.nodes[0] = {\n tagName: 'textPath',\n attributes: extend(attributes, {\n 'text-anchor': attributes.textAnchor,\n href: \"\" + url + \"#\".concat(textPathId)\n }),\n children: children\n };\n }\n });\n // Set the reference\n textWrapper.textPath = { path: path, undo: undo };\n }\n else {\n textWrapper.attr({ dx: 0, dy: 0 });\n delete textWrapper.textPath;\n }\n if (this.added) {\n // Rebuild text after added\n textWrapper.textCache = '';\n this.renderer.buildText(textWrapper);\n }\n return this;\n}\n/**\n * Attach a polygon to a bounding box if the element contains a textPath.\n *\n * @function Highcharts.SVGElement#setPolygon\n *\n * @param {any} event\n * An event containing a bounding box object\n *\n * @return {Highcharts.BBoxObject} Returns the bounding box object.\n */\nfunction setPolygon(event) {\n var _a;\n var bBox = event.bBox,\n tp = (_a = this.element) === null || _a === void 0 ? void 0 : _a.querySelector('textPath');\n if (tp) {\n var polygon = [], _b = this.renderer.fontMetrics(this.element), b_1 = _b.b, h = _b.h, descender_1 = h - b_1, lineCleanerRegex = new RegExp('(<tspan>|' +\n '<tspan(?!\\\\sclass=\"highcharts-br\")[^>]*>|' +\n '<\\\\/tspan>)', 'g'), lines = tp\n .innerHTML\n .replace(lineCleanerRegex, '')\n .split(/<tspan class=\"highcharts-br\"[^>]*>/), numOfLines = lines.length;\n // Calculate top and bottom coordinates for\n // either the start or the end of a single\n // character, and append it to the polygon.\n var appendTopAndBottom = function (charIndex,\n positionOfChar) {\n var x = positionOfChar.x,\n y = positionOfChar.y,\n rotation = (tp.getRotationOfChar(charIndex) - 90) * deg2rad,\n cosRot = Math.cos(rotation),\n sinRot = Math.sin(rotation);\n return [\n [\n x - descender_1 * cosRot,\n y - descender_1 * sinRot\n ],\n [\n x + b_1 * cosRot,\n y + b_1 * sinRot\n ]\n ];\n };\n for (var i = 0, lineIndex = 0; lineIndex < numOfLines; lineIndex++) {\n var line = lines[lineIndex],\n lineLen = line.length;\n for (var lineCharIndex = 0; lineCharIndex < lineLen; lineCharIndex += 5) {\n try {\n var srcCharIndex = (i +\n lineCharIndex +\n lineIndex),\n _c = appendTopAndBottom(srcCharIndex,\n tp.getStartPositionOfChar(srcCharIndex)),\n lower = _c[0],\n upper = _c[1];\n if (lineCharIndex === 0) {\n polygon.push(upper);\n polygon.push(lower);\n }\n else {\n if (lineIndex === 0) {\n polygon.unshift(upper);\n }\n if (lineIndex === numOfLines - 1) {\n polygon.push(lower);\n }\n }\n }\n catch (e) {\n // Safari fails on getStartPositionOfChar even if the\n // character is within the `textContent.length`\n break;\n }\n }\n i += lineLen - 1;\n try {\n var srcCharIndex = i + lineIndex,\n charPos = tp.getEndPositionOfChar(srcCharIndex),\n _d = appendTopAndBottom(srcCharIndex,\n charPos),\n lower = _d[0],\n upper = _d[1];\n polygon.unshift(upper);\n polygon.unshift(lower);\n }\n catch (e) {\n // Safari fails on getStartPositionOfChar even if the character\n // is within the `textContent.length`\n break;\n }\n }\n // Close it\n if (polygon.length) {\n polygon.push(polygon[0].slice());\n }\n bBox.polygon = polygon;\n }\n return bBox;\n}\n/**\n * Draw text along a textPath for a dataLabel.\n *\n * @function Highcharts.SVGElement#setTextPath\n *\n * @param {any} event\n * An event containing label options\n *\n * @return {void}\n */\nfunction drawTextPath(event) {\n var _a;\n var labelOptions = event.labelOptions,\n point = event.point,\n textPathOptions = (labelOptions[point.formatPrefix + 'TextPath'] ||\n labelOptions.textPath);\n if (textPathOptions && !labelOptions.useHTML) {\n this.setTextPath(((_a = point.getDataLabelPath) === null || _a === void 0 ? void 0 : _a.call(point, this)) || point.graphic, textPathOptions);\n if (point.dataLabelPath &&\n !textPathOptions.enabled) {\n // Clean the DOM\n point.dataLabelPath = (point.dataLabelPath.destroy());\n }\n }\n}\nfunction compose(SVGElementClass) {\n addEvent(SVGElementClass, 'afterGetBBox', setPolygon);\n addEvent(SVGElementClass, 'beforeAddingDataLabel', drawTextPath);\n var svgElementProto = SVGElementClass.prototype;\n if (!svgElementProto.setTextPath) {\n svgElementProto.setTextPath = setTextPath;\n }\n}\nvar TextPath = {\n compose: compose\n};\n/* harmony default export */ var Extensions_TextPath = (TextPath);\n\n;// ./code/es5/es-modules/Series/DependencyWheel/DependencyWheelSeries.js\n/* *\n *\n * Dependency wheel module\n *\n * (c) 2018-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar DependencyWheelSeries_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar animObject = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).animObject;\n\n\n\nvar DependencyWheelSeries_deg2rad = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).deg2rad;\n\n\nvar _a = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes, PieSeries = _a.pie, SankeySeries = _a.sankey;\n\nvar DependencyWheelSeries_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, DependencyWheelSeries_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, DependencyWheelSeries_relativeLength = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).relativeLength;\n\n\nExtensions_TextPath.compose((highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_default()));\n/* *\n *\n * Class\n *\n * */\n/**\n * @private\n * @class\n * @name Highcharts.seriesTypes.dependencywheel\n *\n * @augments Highcharts.seriesTypes.sankey\n */\nvar DependencyWheelSeries = /** @class */ (function (_super) {\n DependencyWheelSeries_extends(DependencyWheelSeries, _super);\n function DependencyWheelSeries() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n DependencyWheelSeries.prototype.animate = function (init) {\n var series = this;\n if (!init) {\n var duration = animObject(series.options.animation).duration, step_1 = (duration / 2) / series.nodes.length;\n var i = 0;\n var _loop_1 = function (point) {\n var graphic = point.graphic;\n if (graphic) {\n graphic.attr({ opacity: 0 });\n setTimeout(function () {\n if (point.graphic) {\n point.graphic.animate({ opacity: 1 }, { duration: step_1 });\n }\n }, step_1 * i++);\n }\n };\n for (var _i = 0, _a = series.nodes; _i < _a.length; _i++) {\n var point = _a[_i];\n _loop_1(point);\n }\n for (var _b = 0, _c = series.points; _b < _c.length; _b++) {\n var point = _c[_b];\n var graphic = point.graphic;\n if (!point.isNode && graphic) {\n graphic.attr({ opacity: 0 })\n .animate({\n opacity: 1\n }, series.options.animation);\n }\n }\n }\n };\n DependencyWheelSeries.prototype.createNode = function (id) {\n var node = _super.prototype.createNode.call(this,\n id);\n /**\n * Return the sum of incoming and outgoing links.\n * @private\n */\n node.getSum = function () { return (node.linksFrom\n .concat(node.linksTo)\n .reduce(function (acc, link) { return (acc + link.weight); }, 0)); };\n /**\n * Get the offset in weight values of a point/link.\n * @private\n */\n node.offset = function (point) {\n var otherNode = function (link) { return (link.fromNode === node ?\n link.toNode :\n link.fromNode); };\n var offset = 0,\n links = node.linksFrom.concat(node.linksTo),\n sliced;\n // Sort and slice the links to avoid links going out of each\n // node crossing each other.\n links.sort(function (a, b) { return (otherNode(a).index - otherNode(b).index); });\n for (var i = 0; i < links.length; i++) {\n if (otherNode(links[i]).index > node.index) {\n links = links.slice(0, i).reverse().concat(links.slice(i).reverse());\n sliced = true;\n break;\n }\n }\n if (!sliced) {\n links.reverse();\n }\n for (var i = 0; i < links.length; i++) {\n if (links[i] === point) {\n return offset;\n }\n offset += links[i].weight;\n }\n };\n return node;\n };\n /**\n * Dependency wheel has only one column, it runs along the perimeter.\n * @private\n */\n DependencyWheelSeries.prototype.createNodeColumns = function () {\n var series = this,\n columns = [Sankey_SankeyColumnComposition.compose([],\n series)];\n for (var _i = 0, _a = series.nodes; _i < _a.length; _i++) {\n var node = _a[_i];\n node.column = 0;\n columns[0].push(node);\n }\n return columns;\n };\n /**\n * Translate from vertical pixels to perimeter.\n * @private\n */\n DependencyWheelSeries.prototype.getNodePadding = function () {\n return this.options.nodePadding / Math.PI;\n };\n /**\n * @ignore\n * @todo Override the refactored sankey translateLink and translateNode\n * functions instead of the whole translate function.\n */\n DependencyWheelSeries.prototype.translate = function () {\n var series = this,\n options = series.options,\n factor = 2 * Math.PI /\n (series.chart.plotHeight + series.getNodePadding()),\n center = series.getCenter(),\n startAngle = (options.startAngle - 90) * DependencyWheelSeries_deg2rad,\n brOption = options.borderRadius,\n borderRadius = typeof brOption === 'object' ?\n brOption.radius : brOption;\n _super.prototype.translate.call(this);\n var _loop_2 = function (node) {\n // Don't render the nodes if sum is 0 #12453\n if (node.sum) {\n var shapeArgs = node.shapeArgs,\n centerX_1 = center[0],\n centerY_1 = center[1],\n r = center[2] / 2,\n nodeWidth = options.nodeWidth === 'auto' ?\n 20 : options.nodeWidth,\n innerR_1 = r - DependencyWheelSeries_relativeLength(nodeWidth || 0,\n r),\n start = startAngle + factor * (shapeArgs.y || 0),\n end = startAngle +\n factor * ((shapeArgs.y || 0) + (shapeArgs.height || 0));\n // Middle angle\n node.angle = start + (end - start) / 2;\n node.shapeType = 'arc';\n node.shapeArgs = {\n x: centerX_1,\n y: centerY_1,\n r: r,\n innerR: innerR_1,\n start: start,\n end: end,\n borderRadius: borderRadius\n };\n node.dlBox = {\n x: centerX_1 + Math.cos((start + end) / 2) * (r + innerR_1) / 2,\n y: centerY_1 + Math.sin((start + end) / 2) * (r + innerR_1) / 2,\n width: 1,\n height: 1\n };\n var _loop_3 = function (point) {\n if (point.linkBase) {\n var curveFactor_1,\n distance_1;\n var corners = point.linkBase.map(function (top,\n i) {\n var angle = factor * top,\n x = Math.cos(startAngle + angle) * (innerR_1 + 1),\n y = Math.sin(startAngle + angle) * (innerR_1 + 1);\n curveFactor_1 = options.curveFactor || 0;\n // The distance between the from and to node\n // along the perimeter. This affect how curved\n // the link is, so that links between neighbours\n // don't extend too far towards the center.\n distance_1 = Math.abs(point.linkBase[3 - i] * factor - angle);\n if (distance_1 > Math.PI) {\n distance_1 = 2 * Math.PI - distance_1;\n }\n distance_1 = distance_1 * innerR_1;\n if (distance_1 < innerR_1) {\n curveFactor_1 *= (distance_1 / innerR_1);\n }\n return {\n x: centerX_1 + x,\n y: centerY_1 + y,\n cpX: centerX_1 + (1 - curveFactor_1) * x,\n cpY: centerY_1 + (1 - curveFactor_1) * y\n };\n });\n point.shapeArgs = {\n d: [[\n 'M',\n corners[0].x, corners[0].y\n ], [\n 'A',\n innerR_1, innerR_1,\n 0,\n 0, // Long arc\n 1, // Clockwise\n corners[1].x, corners[1].y\n ], [\n 'C',\n corners[1].cpX, corners[1].cpY,\n corners[2].cpX, corners[2].cpY,\n corners[2].x, corners[2].y\n ], [\n 'A',\n innerR_1, innerR_1,\n 0,\n 0,\n 1,\n corners[3].x, corners[3].y\n ], [\n 'C',\n corners[3].cpX, corners[3].cpY,\n corners[0].cpX, corners[0].cpY,\n corners[0].x, corners[0].y\n ]]\n };\n }\n };\n // Draw the links from this node\n for (var _b = 0, _c = node.linksFrom; _b < _c.length; _b++) {\n var point = _c[_b];\n _loop_3(point);\n }\n }\n };\n for (var _i = 0, _a = this.nodeColumns[0]; _i < _a.length; _i++) {\n var node = _a[_i];\n _loop_2(node);\n }\n };\n /* *\n *\n * Static Properties\n *\n * */\n DependencyWheelSeries.defaultOptions = DependencyWheelSeries_merge(SankeySeries.defaultOptions, DependencyWheel_DependencyWheelSeriesDefaults);\n return DependencyWheelSeries;\n}(SankeySeries));\nDependencyWheelSeries_extend(DependencyWheelSeries.prototype, {\n orderNodes: false,\n getCenter: PieSeries.prototype.getCenter\n});\nDependencyWheelSeries.prototype.pointClass = DependencyWheel_DependencyWheelPoint;\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('dependencywheel', DependencyWheelSeries);\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var DependencyWheel_DependencyWheelSeries = ((/* unused pure expression or super */ null && (DependencyWheelSeries)));\n\n;// ./code/es5/es-modules/masters/modules/dependency-wheel.src.js\n\n\n\n\n/* harmony default export */ var dependency_wheel_src = ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()));\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});"],"names":["root","factory","exports","module","require","define","amd","__WEBPACK_EXTERNAL_MODULE__944__","__WEBPACK_EXTERNAL_MODULE__512__","__WEBPACK_EXTERNAL_MODULE__28__","extendStatics","SankeyColumnComposition","SankeyColumnAdditions","__webpack_modules__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","__webpack_exports__","dependency_wheel_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default","__extends","b","setPrototypeOf","__proto__","Array","p","__","constructor","create","SankeyPoint","seriesTypes","sankey","pointClass","pInt","wrap","DependencyWheelPoint","_super","apply","arguments","getDataLabelPath","label","_a","point","renderer","series","chart","shapeArgs","upperHalf","angle","Math","PI","start","end","dataLabelPath","destroy","proceed","arc","open","longArc","abs","attr","x","y","r","options","distance","clockwise","add","defs","isValid","DependencyWheel_DependencyWheelSeriesDefaults","center","curveFactor","startAngle","dataLabels","textPath","enabled","attributes","dy","defined","getAlignFactor","relativeLength","compose","points","sankeyColumnArray","sankeyColumn","getTranslationFactor","skipPoint","i","column","nodes","slice","minLinkWidth","factor","remainingHeight","plotSizeY","borderWidth","length","nodePadding","sum","getSum","splice","max","_i","nodes_1","node","push","top","height","reduce","nodeAlignment","left","equalNodes","maxNodesLength","inverted","plotHeight","plotWidth","width","plotSizeX","round","offset","totalNodeOffset","is","hangsFrom","absoluteTop","nodeY","directionOffset","optionOffset","relativeTop","Sankey_SankeyColumnComposition","highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_","highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_default","deg2rad","addEvent","merge","uniqueKey","TextPath_defined","extend","setTextPath","path","textPathOptions","_this","startOffset","textAnchor","url","textWrapper","text","undo","e","textPathId","textAttribs","dx","transform","box","children","tagName","href","concat","added","textCache","buildText","setPolygon","event","bBox","tp","element","querySelector","polygon","_b","fontMetrics","b_1","descender_1","h","lineCleanerRegex","RegExp","lines","innerHTML","replace","split","numOfLines","appendTopAndBottom","charIndex","positionOfChar","rotation","getRotationOfChar","cosRot","cos","sinRot","sin","lineIndex","lineLen","line","lineCharIndex","srcCharIndex","_c","getStartPositionOfChar","lower","upper","unshift","charPos","getEndPositionOfChar","_d","drawTextPath","labelOptions","formatPrefix","useHTML","graphic","DependencyWheelSeries_extends","TypeError","String","animObject","DependencyWheelSeries_deg2rad","PieSeries","pie","SankeySeries","DependencyWheelSeries_extend","DependencyWheelSeries_merge","DependencyWheelSeries_relativeLength","Extensions_TextPath","SVGElementClass","svgElementProto","DependencyWheelSeries","animate","init","step_1","animation","duration","_loop_1","opacity","setTimeout","isNode","createNode","id","linksFrom","linksTo","acc","link","weight","sliced","otherNode","fromNode","toNode","links","sort","index","reverse","createNodeColumns","columns","getNodePadding","translate","getCenter","brOption","borderRadius","radius","nodeColumns","_loop_2","centerX_1","centerY_1","innerR_1","nodeWidth","shapeType","innerR","dlBox","_loop_3","linkBase","curveFactor_1","distance_1","corners","map","cpX","cpY","defaultOptions","orderNodes","registerSeriesType"],"mappings":"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"}
Hacked By AnonymousFox1.0, Coded By AnonymousFox