import { BoundingRect_default, CompoundPath_default, Displayable_default, Eventful_default, Group_default, Image_default, LRU_default, PathProxy_default, Path_default, Point_default, Rect_default, Text_default, Transformable_default, __extends, add, applyTransform, assert, bind, brushSingle, calculateTextPosition, clone, clone3 as clone2, concatArray, copy, create, createHashMap, createIntersectContext, cubicAt, cubicDerivativeAt, cubicSubdivide, curry, defaults, distance, each, encodeHTML, env_default, eqNaN, extend, filter, getBoundingRect, hasOwn, identity, indexOf, inherits, init, invert, isArray, isArrayLike, isDom, isFunction, isNumber, isObject, isRegExp, isString, isStringSafe, isTypedArray, keys, liftColor, map, max, merge, min, mixin, modifyHSL, mul, noop, normalize, normalizeCssArray, parsePercent, platformApi, quadraticAt, quadraticDerivativeAt, quadraticSubdivide, reduce, registerPainter, registerSSRDataGetter, retrieve2, retrieve3, scale2 as scale, setAsPrimitive, setPlatformAPI, slice, sort, sub, subPixelOptimize, subPixelOptimizeLine, subPixelOptimizeRect, trim } from "./chunk-ZAVXMU2G.js"; import { __export } from "./chunk-V4OQ3NZ2.js"; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/clazz.js var TYPE_DELIMITER = "."; var IS_CONTAINER = "___EC__COMPONENT__CONTAINER___"; var IS_EXTENDED_CLASS = "___EC__EXTENDED_CLASS___"; function parseClassType(componentType) { var ret = { main: "", sub: "" }; if (componentType) { var typeArr = componentType.split(TYPE_DELIMITER); ret.main = typeArr[0] || ""; ret.sub = typeArr[1] || ""; } return ret; } function checkClassType(componentType) { assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType "' + componentType + '" illegal'); } function isExtendedClass(clz) { return !!(clz && clz[IS_EXTENDED_CLASS]); } function enableClassExtend(rootClz, mandatoryMethods) { rootClz.$constructor = rootClz; rootClz.extend = function(proto) { if (true) { each(mandatoryMethods, function(method) { if (!proto[method]) { console.warn("Method `" + method + "` should be implemented" + (proto.type ? " in " + proto.type : "") + "."); } }); } var superClass = this; var ExtendedClass; if (isESClass(superClass)) { ExtendedClass = /** @class */ function(_super) { __extends(class_1, _super); function class_1() { return _super.apply(this, arguments) || this; } return class_1; }(superClass); } else { ExtendedClass = function() { (proto.$constructor || superClass).apply(this, arguments); }; inherits(ExtendedClass, this); } extend(ExtendedClass.prototype, proto); ExtendedClass[IS_EXTENDED_CLASS] = true; ExtendedClass.extend = this.extend; ExtendedClass.superCall = superCall; ExtendedClass.superApply = superApply; ExtendedClass.superClass = superClass; return ExtendedClass; }; } function isESClass(fn) { return isFunction(fn) && /^class\s/.test(Function.prototype.toString.call(fn)); } function mountExtend(SubClz, SupperClz) { SubClz.extend = SupperClz.extend; } var classBase = Math.round(Math.random() * 10); function enableClassCheck(target) { var classAttr = ["__\0is_clz", classBase++].join("_"); target.prototype[classAttr] = true; if (true) { assert(!target.isInstance, 'The method "is" can not be defined.'); } target.isInstance = function(obj) { return !!(obj && obj[classAttr]); }; } function superCall(context, methodName) { var args = []; for (var _i = 2; _i < arguments.length; _i++) { args[_i - 2] = arguments[_i]; } return this.superClass.prototype[methodName].apply(context, args); } function superApply(context, methodName, args) { return this.superClass.prototype[methodName].apply(context, args); } function enableClassManagement(target) { var storage = {}; target.registerClass = function(clz) { var componentFullType = clz.type || clz.prototype.type; if (componentFullType) { checkClassType(componentFullType); clz.prototype.type = componentFullType; var componentTypeInfo = parseClassType(componentFullType); if (!componentTypeInfo.sub) { if (true) { if (storage[componentTypeInfo.main]) { console.warn(componentTypeInfo.main + " exists."); } } storage[componentTypeInfo.main] = clz; } else if (componentTypeInfo.sub !== IS_CONTAINER) { var container = makeContainer(componentTypeInfo); container[componentTypeInfo.sub] = clz; } } return clz; }; target.getClass = function(mainType, subType, throwWhenNotFound) { var clz = storage[mainType]; if (clz && clz[IS_CONTAINER]) { clz = subType ? clz[subType] : null; } if (throwWhenNotFound && !clz) { throw new Error(!subType ? mainType + ".type should be specified." : "Component " + mainType + "." + (subType || "") + " is used but not imported."); } return clz; }; target.getClassesByMainType = function(componentType) { var componentTypeInfo = parseClassType(componentType); var result = []; var obj = storage[componentTypeInfo.main]; if (obj && obj[IS_CONTAINER]) { each(obj, function(o, type) { type !== IS_CONTAINER && result.push(o); }); } else { result.push(obj); } return result; }; target.hasClass = function(componentType) { var componentTypeInfo = parseClassType(componentType); return !!storage[componentTypeInfo.main]; }; target.getAllClassMainTypes = function() { var types = []; each(storage, function(obj, type) { types.push(type); }); return types; }; target.hasSubTypes = function(componentType) { var componentTypeInfo = parseClassType(componentType); var obj = storage[componentTypeInfo.main]; return obj && obj[IS_CONTAINER]; }; function makeContainer(componentTypeInfo) { var container = storage[componentTypeInfo.main]; if (!container || !container[IS_CONTAINER]) { container = storage[componentTypeInfo.main] = {}; container[IS_CONTAINER] = true; } return container; } } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/makeStyleMapper.js function makeStyleMapper(properties, ignoreParent) { for (var i = 0; i < properties.length; i++) { if (!properties[i][1]) { properties[i][1] = properties[i][0]; } } ignoreParent = ignoreParent || false; return function(model, excludes, includes) { var style = {}; for (var i2 = 0; i2 < properties.length; i2++) { var propName = properties[i2][1]; if (excludes && indexOf(excludes, propName) >= 0 || includes && indexOf(includes, propName) < 0) { continue; } var val = model.getShallow(propName, ignoreParent); if (val != null) { style[properties[i2][0]] = val; } } return style; }; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/areaStyle.js var AREA_STYLE_KEY_MAP = [ ["fill", "color"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["opacity"], ["shadowColor"] // Option decal is in `DecalObject` but style.decal is in `PatternObject`. // So do not transfer decal directly. ]; var getAreaStyle = makeStyleMapper(AREA_STYLE_KEY_MAP); var AreaStyleMixin = ( /** @class */ function() { function AreaStyleMixin2() { } AreaStyleMixin2.prototype.getAreaStyle = function(excludes, includes) { return getAreaStyle(this, excludes, includes); }; return AreaStyleMixin2; }() ); // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/number.js var RADIAN_EPSILON = 1e-4; var ROUND_SUPPORTED_PRECISION_MAX = 20; function _trim(str) { return str.replace(/^\s+|\s+$/g, ""); } var mathMin = Math.min; var mathMax = Math.max; var mathAbs = Math.abs; function linearMap(val, domain, range, clamp2) { var d0 = domain[0]; var d1 = domain[1]; var r0 = range[0]; var r1 = range[1]; var subDomain = d1 - d0; var subRange = r1 - r0; if (subDomain === 0) { return subRange === 0 ? r0 : (r0 + r1) / 2; } if (clamp2) { if (subDomain > 0) { if (val <= d0) { return r0; } else if (val >= d1) { return r1; } } else { if (val >= d0) { return r0; } else if (val <= d1) { return r1; } } } else { if (val === d0) { return r0; } if (val === d1) { return r1; } } return (val - d0) / subDomain * subRange + r0; } var parsePercent2 = parsePositionOption; function parsePositionOption(option, percentBase, percentOffset) { switch (option) { case "center": case "middle": option = "50%"; break; case "left": case "top": option = "0%"; break; case "right": case "bottom": option = "100%"; break; } return parsePositionSizeOption(option, percentBase, percentOffset); } function parsePositionSizeOption(option, percentBase, percentOffset) { if (isString(option)) { if (_trim(option).match(/%$/)) { return parseFloat(option) / 100 * percentBase + (percentOffset || 0); } return parseFloat(option); } return option == null ? NaN : +option; } function round(x, precision, returnStr) { if (precision == null) { precision = 10; } precision = Math.min(Math.max(0, precision), ROUND_SUPPORTED_PRECISION_MAX); x = (+x).toFixed(precision); return returnStr ? x : +x; } function asc(arr) { arr.sort(function(a, b) { return a - b; }); return arr; } function getPrecision(val) { val = +val; if (isNaN(val)) { return 0; } if (val > 1e-14) { var e2 = 1; for (var i = 0; i < 15; i++, e2 *= 10) { if (Math.round(val * e2) / e2 === val) { return i; } } } return getPrecisionSafe(val); } function getPrecisionSafe(val) { var str = val.toString().toLowerCase(); var eIndex = str.indexOf("e"); var exp = eIndex > 0 ? +str.slice(eIndex + 1) : 0; var significandPartLen = eIndex > 0 ? eIndex : str.length; var dotIndex = str.indexOf("."); var decimalPartLen = dotIndex < 0 ? 0 : significandPartLen - 1 - dotIndex; return Math.max(0, decimalPartLen - exp); } function getPixelPrecision(dataExtent, pixelExtent) { var log2 = Math.log; var LN10 = Math.LN10; var dataQuantity = Math.floor(log2(dataExtent[1] - dataExtent[0]) / LN10); var sizeQuantity = Math.round(log2(mathAbs(pixelExtent[1] - pixelExtent[0])) / LN10); var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20); return !isFinite(precision) ? 20 : precision; } function getPercentWithPrecision(valueList, idx, precision) { if (!valueList[idx]) { return 0; } var seats = getPercentSeats(valueList, precision); return seats[idx] || 0; } function getPercentSeats(valueList, precision) { var sum = reduce(valueList, function(acc, val) { return acc + (isNaN(val) ? 0 : val); }, 0); if (sum === 0) { return []; } var digits = Math.pow(10, precision); var votesPerQuota = map(valueList, function(val) { return (isNaN(val) ? 0 : val) / sum * digits * 100; }); var targetSeats = digits * 100; var seats = map(votesPerQuota, function(votes) { return Math.floor(votes); }); var currentSum = reduce(seats, function(acc, val) { return acc + val; }, 0); var remainder = map(votesPerQuota, function(votes, idx) { return votes - seats[idx]; }); while (currentSum < targetSeats) { var max2 = Number.NEGATIVE_INFINITY; var maxId = null; for (var i = 0, len = remainder.length; i < len; ++i) { if (remainder[i] > max2) { max2 = remainder[i]; maxId = i; } } ++seats[maxId]; remainder[maxId] = 0; ++currentSum; } return map(seats, function(seat) { return seat / digits; }); } function addSafe(val0, val1) { var maxPrecision = Math.max(getPrecision(val0), getPrecision(val1)); var sum = val0 + val1; return maxPrecision > ROUND_SUPPORTED_PRECISION_MAX ? sum : round(sum, maxPrecision); } var MAX_SAFE_INTEGER = 9007199254740991; function remRadian(radian) { var pi2 = Math.PI * 2; return (radian % pi2 + pi2) % pi2; } function isRadianAroundZero(val) { return val > -RADIAN_EPSILON && val < RADIAN_EPSILON; } var TIME_REG = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/; function parseDate(value) { if (value instanceof Date) { return value; } else if (isString(value)) { var match = TIME_REG.exec(value); if (!match) { return /* @__PURE__ */ new Date(NaN); } if (!match[8]) { return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0); } else { var hour = +match[4] || 0; if (match[8].toUpperCase() !== "Z") { hour -= +match[8].slice(0, 3); } return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0)); } } else if (value == null) { return /* @__PURE__ */ new Date(NaN); } return new Date(Math.round(value)); } function quantity(val) { return Math.pow(10, quantityExponent(val)); } function quantityExponent(val) { if (val === 0) { return 0; } var exp = Math.floor(Math.log(val) / Math.LN10); if (val / Math.pow(10, exp) >= 10) { exp++; } return exp; } function nice(val, round2) { var exponent = quantityExponent(val); var exp10 = Math.pow(10, exponent); var f = val / exp10; var nf; if (round2) { if (f < 1.5) { nf = 1; } else if (f < 2.5) { nf = 2; } else if (f < 4) { nf = 3; } else if (f < 7) { nf = 5; } else { nf = 10; } } else { if (f < 1) { nf = 1; } else if (f < 2) { nf = 2; } else if (f < 3) { nf = 3; } else if (f < 5) { nf = 5; } else { nf = 10; } } val = nf * exp10; return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val; } function quantile(ascArr, p) { var H = (ascArr.length - 1) * p + 1; var h = Math.floor(H); var v = +ascArr[h - 1]; var e2 = H - h; return e2 ? v + e2 * (ascArr[h] - v) : v; } function reformIntervals(list) { list.sort(function(a, b) { return littleThan(a, b, 0) ? -1 : 1; }); var curr = -Infinity; var currClose = 1; for (var i = 0; i < list.length; ) { var interval = list[i].interval; var close_1 = list[i].close; for (var lg = 0; lg < 2; lg++) { if (interval[lg] <= curr) { interval[lg] = curr; close_1[lg] = !lg ? 1 - currClose : 1; } curr = interval[lg]; currClose = close_1[lg]; } if (interval[0] === interval[1] && close_1[0] * close_1[1] !== 1) { list.splice(i, 1); } else { i++; } } return list; function littleThan(a, b, lg2) { return a.interval[lg2] < b.interval[lg2] || a.interval[lg2] === b.interval[lg2] && (a.close[lg2] - b.close[lg2] === (!lg2 ? 1 : -1) || !lg2 && littleThan(a, b, 1)); } } function numericToNumber(val) { var valFloat = parseFloat(val); return valFloat == val && (valFloat !== 0 || !isString(val) || val.indexOf("x") <= 0) ? valFloat : NaN; } function isNumeric(val) { return !isNaN(numericToNumber(val)); } function getRandomIdBase() { return Math.round(Math.random() * 9); } function getGreatestCommonDividor(a, b) { if (b === 0) { return a; } return getGreatestCommonDividor(b, a % b); } function getLeastCommonMultiple(a, b) { if (a == null) { return b; } if (b == null) { return a; } return a * b / getGreatestCommonDividor(a, b); } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/log.js var ECHARTS_PREFIX = "[ECharts] "; var storedLogs = {}; var hasConsole = typeof console !== "undefined" && console.warn && console.log; function outputLog(type, str, onlyOnce) { if (hasConsole) { if (onlyOnce) { if (storedLogs[str]) { return; } storedLogs[str] = true; } console[type](ECHARTS_PREFIX + str); } } function log(str, onlyOnce) { outputLog("log", str, onlyOnce); } function warn(str, onlyOnce) { outputLog("warn", str, onlyOnce); } function error(str, onlyOnce) { outputLog("error", str, onlyOnce); } function deprecateLog(str) { if (true) { outputLog("warn", "DEPRECATED: " + str, true); } } function deprecateReplaceLog(oldOpt, newOpt, scope) { if (true) { deprecateLog((scope ? "[" + scope + "]" : "") + (oldOpt + " is deprecated; use " + newOpt + " instead.")); } } function makePrintable() { var hintInfo = []; for (var _i = 0; _i < arguments.length; _i++) { hintInfo[_i] = arguments[_i]; } var msg = ""; if (true) { var makePrintableStringIfPossible_1 = function(val) { return val === void 0 ? "undefined" : val === Infinity ? "Infinity" : val === -Infinity ? "-Infinity" : eqNaN(val) ? "NaN" : val instanceof Date ? "Date(" + val.toISOString() + ")" : isFunction(val) ? "function () { ... }" : isRegExp(val) ? val + "" : null; }; msg = map(hintInfo, function(arg) { if (isString(arg)) { return arg; } else { var printableStr = makePrintableStringIfPossible_1(arg); if (printableStr != null) { return printableStr; } else if (typeof JSON !== "undefined" && JSON.stringify) { try { return JSON.stringify(arg, function(n, val) { var printableStr2 = makePrintableStringIfPossible_1(val); return printableStr2 == null ? val : printableStr2; }); } catch (err) { return "?"; } } else { return "?"; } } }).join(" "); } return msg; } function throwError(msg) { throw new Error(msg); } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/model.js function interpolateNumber(p0, p1, percent) { return (p1 - p0) * percent + p0; } var DUMMY_COMPONENT_NAME_PREFIX = "series\0"; var INTERNAL_COMPONENT_ID_PREFIX = "\0_ec_\0"; function normalizeToArray(value) { return value instanceof Array ? value : value == null ? [] : [value]; } function defaultEmphasis(opt, key, subOpts) { if (opt) { opt[key] = opt[key] || {}; opt.emphasis = opt.emphasis || {}; opt.emphasis[key] = opt.emphasis[key] || {}; for (var i = 0, len = subOpts.length; i < len; i++) { var subOptName = subOpts[i]; if (!opt.emphasis[key].hasOwnProperty(subOptName) && opt[key].hasOwnProperty(subOptName)) { opt.emphasis[key][subOptName] = opt[key][subOptName]; } } } } var TEXT_STYLE_OPTIONS = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "rich", "tag", "color", "textBorderColor", "textBorderWidth", "width", "height", "lineHeight", "align", "verticalAlign", "baseline", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY", "backgroundColor", "borderColor", "borderWidth", "borderRadius", "padding"]; function getDataItemValue(dataItem) { return isObject(dataItem) && !isArray(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem; } function isDataItemOption(dataItem) { return isObject(dataItem) && !(dataItem instanceof Array); } function mappingToExists(existings, newCmptOptions, mode) { var isNormalMergeMode = mode === "normalMerge"; var isReplaceMergeMode = mode === "replaceMerge"; var isReplaceAllMode = mode === "replaceAll"; existings = existings || []; newCmptOptions = (newCmptOptions || []).slice(); var existingIdIdxMap = createHashMap(); each(newCmptOptions, function(cmptOption, index) { if (!isObject(cmptOption)) { newCmptOptions[index] = null; return; } if (true) { if (cmptOption.id != null && !isValidIdOrName(cmptOption.id)) { warnInvalidateIdOrName(cmptOption.id); } if (cmptOption.name != null && !isValidIdOrName(cmptOption.name)) { warnInvalidateIdOrName(cmptOption.name); } } }); var result = prepareResult(existings, existingIdIdxMap, mode); if (isNormalMergeMode || isReplaceMergeMode) { mappingById(result, existings, existingIdIdxMap, newCmptOptions); } if (isNormalMergeMode) { mappingByName(result, newCmptOptions); } if (isNormalMergeMode || isReplaceMergeMode) { mappingByIndex(result, newCmptOptions, isReplaceMergeMode); } else if (isReplaceAllMode) { mappingInReplaceAllMode(result, newCmptOptions); } makeIdAndName(result); return result; } function prepareResult(existings, existingIdIdxMap, mode) { var result = []; if (mode === "replaceAll") { return result; } for (var index = 0; index < existings.length; index++) { var existing = existings[index]; if (existing && existing.id != null) { existingIdIdxMap.set(existing.id, index); } result.push({ existing: mode === "replaceMerge" || isComponentIdInternal(existing) ? null : existing, newOption: null, keyInfo: null, brandNew: null }); } return result; } function mappingById(result, existings, existingIdIdxMap, newCmptOptions) { each(newCmptOptions, function(cmptOption, index) { if (!cmptOption || cmptOption.id == null) { return; } var optionId = makeComparableKey(cmptOption.id); var existingIdx = existingIdIdxMap.get(optionId); if (existingIdx != null) { var resultItem = result[existingIdx]; assert(!resultItem.newOption, 'Duplicated option on id "' + optionId + '".'); resultItem.newOption = cmptOption; resultItem.existing = existings[existingIdx]; newCmptOptions[index] = null; } }); } function mappingByName(result, newCmptOptions) { each(newCmptOptions, function(cmptOption, index) { if (!cmptOption || cmptOption.name == null) { return; } for (var i = 0; i < result.length; i++) { var existing = result[i].existing; if (!result[i].newOption && existing && (existing.id == null || cmptOption.id == null) && !isComponentIdInternal(cmptOption) && !isComponentIdInternal(existing) && keyExistAndEqual("name", existing, cmptOption)) { result[i].newOption = cmptOption; newCmptOptions[index] = null; return; } } }); } function mappingByIndex(result, newCmptOptions, brandNew) { each(newCmptOptions, function(cmptOption) { if (!cmptOption) { return; } var resultItem; var nextIdx = 0; while ( // Be `!resultItem` only when `nextIdx >= result.length`. (resultItem = result[nextIdx]) && (resultItem.newOption || isComponentIdInternal(resultItem.existing) || // In mode "replaceMerge", here no not-mapped-non-internal-existing. resultItem.existing && cmptOption.id != null && !keyExistAndEqual("id", cmptOption, resultItem.existing)) ) { nextIdx++; } if (resultItem) { resultItem.newOption = cmptOption; resultItem.brandNew = brandNew; } else { result.push({ newOption: cmptOption, brandNew, existing: null, keyInfo: null }); } nextIdx++; }); } function mappingInReplaceAllMode(result, newCmptOptions) { each(newCmptOptions, function(cmptOption) { result.push({ newOption: cmptOption, brandNew: true, existing: null, keyInfo: null }); }); } function makeIdAndName(mapResult) { var idMap = createHashMap(); each(mapResult, function(item) { var existing = item.existing; existing && idMap.set(existing.id, item); }); each(mapResult, function(item) { var opt = item.newOption; assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, "id duplicates: " + (opt && opt.id)); opt && opt.id != null && idMap.set(opt.id, item); !item.keyInfo && (item.keyInfo = {}); }); each(mapResult, function(item, index) { var existing = item.existing; var opt = item.newOption; var keyInfo = item.keyInfo; if (!isObject(opt)) { return; } keyInfo.name = opt.name != null ? makeComparableKey(opt.name) : existing ? existing.name : DUMMY_COMPONENT_NAME_PREFIX + index; if (existing) { keyInfo.id = makeComparableKey(existing.id); } else if (opt.id != null) { keyInfo.id = makeComparableKey(opt.id); } else { var idNum = 0; do { keyInfo.id = "\0" + keyInfo.name + "\0" + idNum++; } while (idMap.get(keyInfo.id)); } idMap.set(keyInfo.id, item); }); } function keyExistAndEqual(attr, obj1, obj2) { var key1 = convertOptionIdName(obj1[attr], null); var key2 = convertOptionIdName(obj2[attr], null); return key1 != null && key2 != null && key1 === key2; } function makeComparableKey(val) { if (true) { if (val == null) { throw new Error(); } } return convertOptionIdName(val, ""); } function convertOptionIdName(idOrName, defaultValue) { if (idOrName == null) { return defaultValue; } return isString(idOrName) ? idOrName : isNumber(idOrName) || isStringSafe(idOrName) ? idOrName + "" : defaultValue; } function warnInvalidateIdOrName(idOrName) { if (true) { warn("`" + idOrName + "` is invalid id or name. Must be a string or number."); } } function isValidIdOrName(idOrName) { return isStringSafe(idOrName) || isNumeric(idOrName); } function isNameSpecified(componentModel) { var name = componentModel.name; return !!(name && name.indexOf(DUMMY_COMPONENT_NAME_PREFIX)); } function isComponentIdInternal(cmptOption) { return cmptOption && cmptOption.id != null && makeComparableKey(cmptOption.id).indexOf(INTERNAL_COMPONENT_ID_PREFIX) === 0; } function makeInternalComponentId(idSuffix) { return INTERNAL_COMPONENT_ID_PREFIX + idSuffix; } function setComponentTypeToKeyInfo(mappingResult, mainType, componentModelCtor) { each(mappingResult, function(item) { var newOption = item.newOption; if (isObject(newOption)) { item.keyInfo.mainType = mainType; item.keyInfo.subType = determineSubType(mainType, newOption, item.existing, componentModelCtor); } }); } function determineSubType(mainType, newCmptOption, existComponent, componentModelCtor) { var subType = newCmptOption.type ? newCmptOption.type : existComponent ? existComponent.subType : componentModelCtor.determineSubType(mainType, newCmptOption); return subType; } function compressBatches(batchA, batchB) { var mapA = {}; var mapB = {}; makeMap(batchA || [], mapA); makeMap(batchB || [], mapB, mapA); return [mapToArray(mapA), mapToArray(mapB)]; function makeMap(sourceBatch, map3, otherMap) { for (var i = 0, len = sourceBatch.length; i < len; i++) { var seriesId = convertOptionIdName(sourceBatch[i].seriesId, null); if (seriesId == null) { return; } var dataIndices = normalizeToArray(sourceBatch[i].dataIndex); var otherDataIndices = otherMap && otherMap[seriesId]; for (var j = 0, lenj = dataIndices.length; j < lenj; j++) { var dataIndex = dataIndices[j]; if (otherDataIndices && otherDataIndices[dataIndex]) { otherDataIndices[dataIndex] = null; } else { (map3[seriesId] || (map3[seriesId] = {}))[dataIndex] = 1; } } } } function mapToArray(map3, isData) { var result = []; for (var i in map3) { if (map3.hasOwnProperty(i) && map3[i] != null) { if (isData) { result.push(+i); } else { var dataIndices = mapToArray(map3[i], true); dataIndices.length && result.push({ seriesId: i, dataIndex: dataIndices }); } } } return result; } } function queryDataIndex(data, payload) { if (payload.dataIndexInside != null) { return payload.dataIndexInside; } else if (payload.dataIndex != null) { return isArray(payload.dataIndex) ? map(payload.dataIndex, function(value) { return data.indexOfRawIndex(value); }) : data.indexOfRawIndex(payload.dataIndex); } else if (payload.name != null) { return isArray(payload.name) ? map(payload.name, function(value) { return data.indexOfName(value); }) : data.indexOfName(payload.name); } } function makeInner() { var key = "__ec_inner_" + innerUniqueIndex++; return function(hostObj) { return hostObj[key] || (hostObj[key] = {}); }; } var innerUniqueIndex = getRandomIdBase(); function parseFinder(ecModel, finderInput, opt) { var _a2 = preParseFinder(finderInput, opt), mainTypeSpecified = _a2.mainTypeSpecified, queryOptionMap = _a2.queryOptionMap, others = _a2.others; var result = others; var defaultMainType = opt ? opt.defaultMainType : null; if (!mainTypeSpecified && defaultMainType) { queryOptionMap.set(defaultMainType, {}); } queryOptionMap.each(function(queryOption, mainType) { var queryResult = queryReferringComponents(ecModel, mainType, queryOption, { useDefault: defaultMainType === mainType, enableAll: opt && opt.enableAll != null ? opt.enableAll : true, enableNone: opt && opt.enableNone != null ? opt.enableNone : true }); result[mainType + "Models"] = queryResult.models; result[mainType + "Model"] = queryResult.models[0]; }); return result; } function preParseFinder(finderInput, opt) { var finder; if (isString(finderInput)) { var obj = {}; obj[finderInput + "Index"] = 0; finder = obj; } else { finder = finderInput; } var queryOptionMap = createHashMap(); var others = {}; var mainTypeSpecified = false; each(finder, function(value, key) { if (key === "dataIndex" || key === "dataIndexInside") { others[key] = value; return; } var parsedKey = key.match(/^(\w+)(Index|Id|Name)$/) || []; var mainType = parsedKey[1]; var queryType = (parsedKey[2] || "").toLowerCase(); if (!mainType || !queryType || opt && opt.includeMainTypes && indexOf(opt.includeMainTypes, mainType) < 0) { return; } mainTypeSpecified = mainTypeSpecified || !!mainType; var queryOption = queryOptionMap.get(mainType) || queryOptionMap.set(mainType, {}); queryOption[queryType] = value; }); return { mainTypeSpecified, queryOptionMap, others }; } var SINGLE_REFERRING = { useDefault: true, enableAll: false, enableNone: false }; var MULTIPLE_REFERRING = { useDefault: false, enableAll: true, enableNone: true }; function queryReferringComponents(ecModel, mainType, userOption, opt) { opt = opt || SINGLE_REFERRING; var indexOption = userOption.index; var idOption = userOption.id; var nameOption = userOption.name; var result = { models: null, specified: indexOption != null || idOption != null || nameOption != null }; if (!result.specified) { var firstCmpt = void 0; result.models = opt.useDefault && (firstCmpt = ecModel.getComponent(mainType)) ? [firstCmpt] : []; return result; } if (indexOption === "none" || indexOption === false) { if (opt.enableNone) { result.models = []; return result; } else { if (true) { error('`"none"` or `false` is not a valid value on index option.'); } indexOption = -1; } } if (indexOption === "all") { if (opt.enableAll) { indexOption = idOption = nameOption = null; } else { if (true) { error('`"all"` is not a valid value on index option.'); } indexOption = -1; } } result.models = ecModel.queryComponents({ mainType, index: indexOption, id: idOption, name: nameOption }); return result; } function setAttribute(dom, key, value) { dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value; } function getAttribute(dom, key) { return dom.getAttribute ? dom.getAttribute(key) : dom[key]; } function getTooltipRenderMode(renderModeOption) { if (renderModeOption === "auto") { return env_default.domSupported ? "html" : "richText"; } else { return renderModeOption || "html"; } } function groupData(array, getKey) { var buckets = createHashMap(); var keys2 = []; each(array, function(item) { var key = getKey(item); (buckets.get(key) || (keys2.push(key), buckets.set(key, []))).push(item); }); return { keys: keys2, buckets }; } function interpolateRawValues(data, precision, sourceValue, targetValue, percent) { var isAutoPrecision = precision == null || precision === "auto"; if (targetValue == null) { return targetValue; } if (isNumber(targetValue)) { var value = interpolateNumber(sourceValue || 0, targetValue, percent); return round(value, isAutoPrecision ? Math.max(getPrecision(sourceValue || 0), getPrecision(targetValue)) : precision); } else if (isString(targetValue)) { return percent < 1 ? sourceValue : targetValue; } else { var interpolated = []; var leftArr = sourceValue; var rightArr = targetValue; var length_1 = Math.max(leftArr ? leftArr.length : 0, rightArr.length); for (var i = 0; i < length_1; ++i) { var info = data.getDimensionInfo(i); if (info && info.type === "ordinal") { interpolated[i] = (percent < 1 && leftArr ? leftArr : rightArr)[i]; } else { var leftVal = leftArr && leftArr[i] ? leftArr[i] : 0; var rightVal = rightArr[i]; var value = interpolateNumber(leftVal, rightVal, percent); interpolated[i] = round(value, isAutoPrecision ? Math.max(getPrecision(leftVal), getPrecision(rightVal)) : precision); } } return interpolated; } } var ListIterator = ( /** @class */ function() { function ListIterator2() { } ListIterator2.prototype.reset = function(list, start, end, step) { this._list = list; this._step = step = step || 1; this._idx = start; this._end = end != null ? end : step > 0 ? list.length : 0; this.item = null; this.key = NaN; return this; }; ListIterator2.prototype.next = function() { if (this._step > 0 ? this._idx < this._end : this._idx >= this._end) { this.item = this._list[this._idx]; this.key = this._idx = this._idx + this._step; return true; } return false; }; return ListIterator2; }() ); function clearTmpModel(model) { model.option = model.parentModel = model.ecModel = null; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/innerStore.js var getECData = makeInner(); var setCommonECData = function(seriesIndex, dataType, dataIdx, el) { if (el) { var ecData = getECData(el); ecData.dataIndex = dataIdx; ecData.dataType = dataType; ecData.seriesIndex = seriesIndex; ecData.ssrType = "chart"; if (el.type === "group") { el.traverse(function(child) { var childECData = getECData(child); childECData.seriesIndex = seriesIndex; childECData.dataIndex = dataIdx; childECData.dataType = dataType; childECData.ssrType = "chart"; }); } } }; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/states.js var _highlightNextDigit = 1; var _highlightKeyMap = {}; var getSavedStates = makeInner(); var getComponentStates = makeInner(); var HOVER_STATE_NORMAL = 0; var HOVER_STATE_BLUR = 1; var HOVER_STATE_EMPHASIS = 2; var SPECIAL_STATES = ["emphasis", "blur", "select"]; var DISPLAY_STATES = ["normal", "emphasis", "blur", "select"]; var Z2_EMPHASIS_LIFT = 10; var Z2_SELECT_LIFT = 9; var HIGHLIGHT_ACTION_TYPE = "highlight"; var DOWNPLAY_ACTION_TYPE = "downplay"; var SELECT_ACTION_TYPE = "select"; var UNSELECT_ACTION_TYPE = "unselect"; var TOGGLE_SELECT_ACTION_TYPE = "toggleSelect"; var SELECT_CHANGED_EVENT_TYPE = "selectchanged"; function hasFillOrStroke(fillOrStroke) { return fillOrStroke != null && fillOrStroke !== "none"; } function doChangeHoverState(el, stateName, hoverStateEnum) { if (el.onHoverStateChange && (el.hoverState || 0) !== hoverStateEnum) { el.onHoverStateChange(stateName); } el.hoverState = hoverStateEnum; } function singleEnterEmphasis(el) { doChangeHoverState(el, "emphasis", HOVER_STATE_EMPHASIS); } function singleLeaveEmphasis(el) { if (el.hoverState === HOVER_STATE_EMPHASIS) { doChangeHoverState(el, "normal", HOVER_STATE_NORMAL); } } function singleEnterBlur(el) { doChangeHoverState(el, "blur", HOVER_STATE_BLUR); } function singleLeaveBlur(el) { if (el.hoverState === HOVER_STATE_BLUR) { doChangeHoverState(el, "normal", HOVER_STATE_NORMAL); } } function singleEnterSelect(el) { el.selected = true; } function singleLeaveSelect(el) { el.selected = false; } function updateElementState(el, updater, commonParam) { updater(el, commonParam); } function traverseUpdateState(el, updater, commonParam) { updateElementState(el, updater, commonParam); el.isGroup && el.traverse(function(child) { updateElementState(child, updater, commonParam); }); } function setStatesFlag(el, stateName) { switch (stateName) { case "emphasis": el.hoverState = HOVER_STATE_EMPHASIS; break; case "normal": el.hoverState = HOVER_STATE_NORMAL; break; case "blur": el.hoverState = HOVER_STATE_BLUR; break; case "select": el.selected = true; } } function getFromStateStyle(el, props, toStateName, defaultValue) { var style = el.style; var fromState = {}; for (var i = 0; i < props.length; i++) { var propName = props[i]; var val = style[propName]; fromState[propName] = val == null ? defaultValue && defaultValue[propName] : val; } for (var i = 0; i < el.animators.length; i++) { var animator = el.animators[i]; if (animator.__fromStateTransition && animator.__fromStateTransition.indexOf(toStateName) < 0 && animator.targetName === "style") { animator.saveTo(fromState, props); } } return fromState; } function createEmphasisDefaultState(el, stateName, targetStates, state) { var hasSelect = targetStates && indexOf(targetStates, "select") >= 0; var cloned = false; if (el instanceof Path_default) { var store = getSavedStates(el); var fromFill = hasSelect ? store.selectFill || store.normalFill : store.normalFill; var fromStroke = hasSelect ? store.selectStroke || store.normalStroke : store.normalStroke; if (hasFillOrStroke(fromFill) || hasFillOrStroke(fromStroke)) { state = state || {}; var emphasisStyle = state.style || {}; if (emphasisStyle.fill === "inherit") { cloned = true; state = extend({}, state); emphasisStyle = extend({}, emphasisStyle); emphasisStyle.fill = fromFill; } else if (!hasFillOrStroke(emphasisStyle.fill) && hasFillOrStroke(fromFill)) { cloned = true; state = extend({}, state); emphasisStyle = extend({}, emphasisStyle); emphasisStyle.fill = liftColor(fromFill); } else if (!hasFillOrStroke(emphasisStyle.stroke) && hasFillOrStroke(fromStroke)) { if (!cloned) { state = extend({}, state); emphasisStyle = extend({}, emphasisStyle); } emphasisStyle.stroke = liftColor(fromStroke); } state.style = emphasisStyle; } } if (state) { if (state.z2 == null) { if (!cloned) { state = extend({}, state); } var z2EmphasisLift = el.z2EmphasisLift; state.z2 = el.z2 + (z2EmphasisLift != null ? z2EmphasisLift : Z2_EMPHASIS_LIFT); } } return state; } function createSelectDefaultState(el, stateName, state) { if (state) { if (state.z2 == null) { state = extend({}, state); var z2SelectLift = el.z2SelectLift; state.z2 = el.z2 + (z2SelectLift != null ? z2SelectLift : Z2_SELECT_LIFT); } } return state; } function createBlurDefaultState(el, stateName, state) { var hasBlur = indexOf(el.currentStates, stateName) >= 0; var currentOpacity = el.style.opacity; var fromState = !hasBlur ? getFromStateStyle(el, ["opacity"], stateName, { opacity: 1 }) : null; state = state || {}; var blurStyle = state.style || {}; if (blurStyle.opacity == null) { state = extend({}, state); blurStyle = extend({ // Already being applied 'emphasis'. DON'T mul opacity multiple times. opacity: hasBlur ? currentOpacity : fromState.opacity * 0.1 }, blurStyle); state.style = blurStyle; } return state; } function elementStateProxy(stateName, targetStates) { var state = this.states[stateName]; if (this.style) { if (stateName === "emphasis") { return createEmphasisDefaultState(this, stateName, targetStates, state); } else if (stateName === "blur") { return createBlurDefaultState(this, stateName, state); } else if (stateName === "select") { return createSelectDefaultState(this, stateName, state); } } return state; } function setDefaultStateProxy(el) { el.stateProxy = elementStateProxy; var textContent = el.getTextContent(); var textGuide = el.getTextGuideLine(); if (textContent) { textContent.stateProxy = elementStateProxy; } if (textGuide) { textGuide.stateProxy = elementStateProxy; } } function enterEmphasisWhenMouseOver(el, e2) { !shouldSilent(el, e2) && !el.__highByOuter && traverseUpdateState(el, singleEnterEmphasis); } function leaveEmphasisWhenMouseOut(el, e2) { !shouldSilent(el, e2) && !el.__highByOuter && traverseUpdateState(el, singleLeaveEmphasis); } function enterEmphasis(el, highlightDigit) { el.__highByOuter |= 1 << (highlightDigit || 0); traverseUpdateState(el, singleEnterEmphasis); } function leaveEmphasis(el, highlightDigit) { !(el.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdateState(el, singleLeaveEmphasis); } function enterBlur(el) { traverseUpdateState(el, singleEnterBlur); } function leaveBlur(el) { traverseUpdateState(el, singleLeaveBlur); } function enterSelect(el) { traverseUpdateState(el, singleEnterSelect); } function leaveSelect(el) { traverseUpdateState(el, singleLeaveSelect); } function shouldSilent(el, e2) { return el.__highDownSilentOnTouch && e2.zrByTouch; } function allLeaveBlur(api) { var model = api.getModel(); var leaveBlurredSeries = []; var allComponentViews = []; model.eachComponent(function(componentType, componentModel) { var componentStates = getComponentStates(componentModel); var isSeries2 = componentType === "series"; var view = isSeries2 ? api.getViewOfSeriesModel(componentModel) : api.getViewOfComponentModel(componentModel); !isSeries2 && allComponentViews.push(view); if (componentStates.isBlured) { view.group.traverse(function(child) { singleLeaveBlur(child); }); isSeries2 && leaveBlurredSeries.push(componentModel); } componentStates.isBlured = false; }); each(allComponentViews, function(view) { if (view && view.toggleBlurSeries) { view.toggleBlurSeries(leaveBlurredSeries, false, model); } }); } function blurSeries(targetSeriesIndex, focus, blurScope, api) { var ecModel = api.getModel(); blurScope = blurScope || "coordinateSystem"; function leaveBlurOfIndices(data, dataIndices) { for (var i = 0; i < dataIndices.length; i++) { var itemEl = data.getItemGraphicEl(dataIndices[i]); itemEl && leaveBlur(itemEl); } } if (targetSeriesIndex == null) { return; } if (!focus || focus === "none") { return; } var targetSeriesModel = ecModel.getSeriesByIndex(targetSeriesIndex); var targetCoordSys = targetSeriesModel.coordinateSystem; if (targetCoordSys && targetCoordSys.master) { targetCoordSys = targetCoordSys.master; } var blurredSeries = []; ecModel.eachSeries(function(seriesModel) { var sameSeries = targetSeriesModel === seriesModel; var coordSys = seriesModel.coordinateSystem; if (coordSys && coordSys.master) { coordSys = coordSys.master; } var sameCoordSys = coordSys && targetCoordSys ? coordSys === targetCoordSys : sameSeries; if (!// Not blur other series if blurScope series (blurScope === "series" && !sameSeries || blurScope === "coordinateSystem" && !sameCoordSys || focus === "series" && sameSeries)) { var view = api.getViewOfSeriesModel(seriesModel); view.group.traverse(function(child) { if (child.__highByOuter && sameSeries && focus === "self") { return; } singleEnterBlur(child); }); if (isArrayLike(focus)) { leaveBlurOfIndices(seriesModel.getData(), focus); } else if (isObject(focus)) { var dataTypes = keys(focus); for (var d = 0; d < dataTypes.length; d++) { leaveBlurOfIndices(seriesModel.getData(dataTypes[d]), focus[dataTypes[d]]); } } blurredSeries.push(seriesModel); getComponentStates(seriesModel).isBlured = true; } }); ecModel.eachComponent(function(componentType, componentModel) { if (componentType === "series") { return; } var view = api.getViewOfComponentModel(componentModel); if (view && view.toggleBlurSeries) { view.toggleBlurSeries(blurredSeries, true, ecModel); } }); } function blurComponent(componentMainType, componentIndex, api) { if (componentMainType == null || componentIndex == null) { return; } var componentModel = api.getModel().getComponent(componentMainType, componentIndex); if (!componentModel) { return; } getComponentStates(componentModel).isBlured = true; var view = api.getViewOfComponentModel(componentModel); if (!view || !view.focusBlurEnabled) { return; } view.group.traverse(function(child) { singleEnterBlur(child); }); } function blurSeriesFromHighlightPayload(seriesModel, payload, api) { var seriesIndex = seriesModel.seriesIndex; var data = seriesModel.getData(payload.dataType); if (!data) { if (true) { error("Unknown dataType " + payload.dataType); } return; } var dataIndex = queryDataIndex(data, payload); dataIndex = (isArray(dataIndex) ? dataIndex[0] : dataIndex) || 0; var el = data.getItemGraphicEl(dataIndex); if (!el) { var count = data.count(); var current = 0; while (!el && current < count) { el = data.getItemGraphicEl(current++); } } if (el) { var ecData = getECData(el); blurSeries(seriesIndex, ecData.focus, ecData.blurScope, api); } else { var focus_1 = seriesModel.get(["emphasis", "focus"]); var blurScope = seriesModel.get(["emphasis", "blurScope"]); if (focus_1 != null) { blurSeries(seriesIndex, focus_1, blurScope, api); } } } function findComponentHighDownDispatchers(componentMainType, componentIndex, name, api) { var ret = { focusSelf: false, dispatchers: null }; if (componentMainType == null || componentMainType === "series" || componentIndex == null || name == null) { return ret; } var componentModel = api.getModel().getComponent(componentMainType, componentIndex); if (!componentModel) { return ret; } var view = api.getViewOfComponentModel(componentModel); if (!view || !view.findHighDownDispatchers) { return ret; } var dispatchers = view.findHighDownDispatchers(name); var focusSelf; for (var i = 0; i < dispatchers.length; i++) { if (!isHighDownDispatcher(dispatchers[i])) { error("param should be highDownDispatcher"); } if (getECData(dispatchers[i]).focus === "self") { focusSelf = true; break; } } return { focusSelf, dispatchers }; } function handleGlobalMouseOverForHighDown(dispatcher, e2, api) { if (!isHighDownDispatcher(dispatcher)) { error("param should be highDownDispatcher"); } var ecData = getECData(dispatcher); var _a2 = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api), dispatchers = _a2.dispatchers, focusSelf = _a2.focusSelf; if (dispatchers) { if (focusSelf) { blurComponent(ecData.componentMainType, ecData.componentIndex, api); } each(dispatchers, function(dispatcher2) { return enterEmphasisWhenMouseOver(dispatcher2, e2); }); } else { blurSeries(ecData.seriesIndex, ecData.focus, ecData.blurScope, api); if (ecData.focus === "self") { blurComponent(ecData.componentMainType, ecData.componentIndex, api); } enterEmphasisWhenMouseOver(dispatcher, e2); } } function handleGlobalMouseOutForHighDown(dispatcher, e2, api) { if (!isHighDownDispatcher(dispatcher)) { error("param should be highDownDispatcher"); } allLeaveBlur(api); var ecData = getECData(dispatcher); var dispatchers = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api).dispatchers; if (dispatchers) { each(dispatchers, function(dispatcher2) { return leaveEmphasisWhenMouseOut(dispatcher2, e2); }); } else { leaveEmphasisWhenMouseOut(dispatcher, e2); } } function toggleSelectionFromPayload(seriesModel, payload, api) { if (!isSelectChangePayload(payload)) { return; } var dataType = payload.dataType; var data = seriesModel.getData(dataType); var dataIndex = queryDataIndex(data, payload); if (!isArray(dataIndex)) { dataIndex = [dataIndex]; } seriesModel[payload.type === TOGGLE_SELECT_ACTION_TYPE ? "toggleSelect" : payload.type === SELECT_ACTION_TYPE ? "select" : "unselect"](dataIndex, dataType); } function updateSeriesElementSelection(seriesModel) { var allData = seriesModel.getAllData(); each(allData, function(_a2) { var data = _a2.data, type = _a2.type; data.eachItemGraphicEl(function(el, idx) { seriesModel.isSelected(idx, type) ? enterSelect(el) : leaveSelect(el); }); }); } function getAllSelectedIndices(ecModel) { var ret = []; ecModel.eachSeries(function(seriesModel) { var allData = seriesModel.getAllData(); each(allData, function(_a2) { var data = _a2.data, type = _a2.type; var dataIndices = seriesModel.getSelectedDataIndices(); if (dataIndices.length > 0) { var item = { dataIndex: dataIndices, seriesIndex: seriesModel.seriesIndex }; if (type != null) { item.dataType = type; } ret.push(item); } }); }); return ret; } function enableHoverEmphasis(el, focus, blurScope) { setAsHighDownDispatcher(el, true); traverseUpdateState(el, setDefaultStateProxy); enableHoverFocus(el, focus, blurScope); } function disableHoverEmphasis(el) { setAsHighDownDispatcher(el, false); } function toggleHoverEmphasis(el, focus, blurScope, isDisabled) { isDisabled ? disableHoverEmphasis(el) : enableHoverEmphasis(el, focus, blurScope); } function enableHoverFocus(el, focus, blurScope) { var ecData = getECData(el); if (focus != null) { ecData.focus = focus; ecData.blurScope = blurScope; } else if (ecData.focus) { ecData.focus = null; } } var OTHER_STATES = ["emphasis", "blur", "select"]; var defaultStyleGetterMap = { itemStyle: "getItemStyle", lineStyle: "getLineStyle", areaStyle: "getAreaStyle" }; function setStatesStylesFromModel(el, itemModel, styleType, getter) { styleType = styleType || "itemStyle"; for (var i = 0; i < OTHER_STATES.length; i++) { var stateName = OTHER_STATES[i]; var model = itemModel.getModel([stateName, styleType]); var state = el.ensureState(stateName); state.style = getter ? getter(model) : model[defaultStyleGetterMap[styleType]](); } } function setAsHighDownDispatcher(el, asDispatcher) { var disable = asDispatcher === false; var extendedEl = el; if (el.highDownSilentOnTouch) { extendedEl.__highDownSilentOnTouch = el.highDownSilentOnTouch; } if (!disable || extendedEl.__highDownDispatcher) { extendedEl.__highByOuter = extendedEl.__highByOuter || 0; extendedEl.__highDownDispatcher = !disable; } } function isHighDownDispatcher(el) { return !!(el && el.__highDownDispatcher); } function enableComponentHighDownFeatures(el, componentModel, componentHighDownName) { var ecData = getECData(el); ecData.componentMainType = componentModel.mainType; ecData.componentIndex = componentModel.componentIndex; ecData.componentHighDownName = componentHighDownName; } function getHighlightDigit(highlightKey) { var highlightDigit = _highlightKeyMap[highlightKey]; if (highlightDigit == null && _highlightNextDigit <= 32) { highlightDigit = _highlightKeyMap[highlightKey] = _highlightNextDigit++; } return highlightDigit; } function isSelectChangePayload(payload) { var payloadType = payload.type; return payloadType === SELECT_ACTION_TYPE || payloadType === UNSELECT_ACTION_TYPE || payloadType === TOGGLE_SELECT_ACTION_TYPE; } function isHighDownPayload(payload) { var payloadType = payload.type; return payloadType === HIGHLIGHT_ACTION_TYPE || payloadType === DOWNPLAY_ACTION_TYPE; } function savePathStates(el) { var store = getSavedStates(el); store.normalFill = el.style.fill; store.normalStroke = el.style.stroke; var selectState = el.states.select || {}; store.selectFill = selectState.style && selectState.style.fill || null; store.selectStroke = selectState.style && selectState.style.stroke || null; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/graphic.js var graphic_exports = {}; __export(graphic_exports, { Arc: () => Arc_default, BezierCurve: () => BezierCurve_default, BoundingRect: () => BoundingRect_default, Circle: () => Circle_default, CompoundPath: () => CompoundPath_default, Ellipse: () => Ellipse_default, Group: () => Group_default, Image: () => Image_default, IncrementalDisplayable: () => IncrementalDisplayable_default, Line: () => Line_default, LinearGradient: () => LinearGradient_default, OrientedBoundingRect: () => OrientedBoundingRect_default, Path: () => Path_default, Point: () => Point_default, Polygon: () => Polygon_default, Polyline: () => Polyline_default, RadialGradient: () => RadialGradient_default, Rect: () => Rect_default, Ring: () => Ring_default, Sector: () => Sector_default, Text: () => Text_default, WH: () => WH, XY: () => XY, applyTransform: () => applyTransform2, calcZ2Range: () => calcZ2Range, clipPointsByRect: () => clipPointsByRect, clipRectByRect: () => clipRectByRect, createIcon: () => createIcon, ensureCopyRect: () => ensureCopyRect, ensureCopyTransform: () => ensureCopyTransform, expandOrShrinkRect: () => expandOrShrinkRect, extendPath: () => extendPath, extendShape: () => extendShape, getShapeClass: () => getShapeClass, getTransform: () => getTransform, groupTransition: () => groupTransition, initProps: () => initProps, isBoundingRectAxisAligned: () => isBoundingRectAxisAligned, isElementRemoved: () => isElementRemoved, lineLineIntersect: () => lineLineIntersect, linePolygonIntersect: () => linePolygonIntersect, makeImage: () => makeImage, makePath: () => makePath, mergePath: () => mergePath2, registerShape: () => registerShape, removeElement: () => removeElement, removeElementWithFadeOut: () => removeElementWithFadeOut, resizePath: () => resizePath, retrieveZInfo: () => retrieveZInfo, setTooltipConfig: () => setTooltipConfig, subPixelOptimize: () => subPixelOptimize2, subPixelOptimizeLine: () => subPixelOptimizeLine2, subPixelOptimizeRect: () => subPixelOptimizeRect2, transformDirection: () => transformDirection, traverseElements: () => traverseElements, traverseUpdateZ: () => traverseUpdateZ, updateProps: () => updateProps }); // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/tool/transformPath.js var CMD = PathProxy_default.CMD; var points = [[], [], []]; var mathSqrt = Math.sqrt; var mathAtan2 = Math.atan2; function transformPath(path, m2) { if (!m2) { return; } var data = path.data; var len = path.len(); var cmd; var nPoint; var i; var j; var k; var p; var M = CMD.M; var C = CMD.C; var L = CMD.L; var R = CMD.R; var A = CMD.A; var Q = CMD.Q; for (i = 0, j = 0; i < len; ) { cmd = data[i++]; j = i; nPoint = 0; switch (cmd) { case M: nPoint = 1; break; case L: nPoint = 1; break; case C: nPoint = 3; break; case Q: nPoint = 2; break; case A: var x = m2[4]; var y = m2[5]; var sx = mathSqrt(m2[0] * m2[0] + m2[1] * m2[1]); var sy = mathSqrt(m2[2] * m2[2] + m2[3] * m2[3]); var angle = mathAtan2(-m2[1] / sy, m2[0] / sx); data[i] *= sx; data[i++] += x; data[i] *= sy; data[i++] += y; data[i++] *= sx; data[i++] *= sy; data[i++] += angle; data[i++] += angle; i += 2; j = i; break; case R: p[0] = data[i++]; p[1] = data[i++]; applyTransform(p, p, m2); data[j++] = p[0]; data[j++] = p[1]; p[0] += data[i++]; p[1] += data[i++]; applyTransform(p, p, m2); data[j++] = p[0]; data[j++] = p[1]; } for (k = 0; k < nPoint; k++) { var p_1 = points[k]; p_1[0] = data[i++]; p_1[1] = data[i++]; applyTransform(p_1, p_1, m2); data[j++] = p_1[0]; data[j++] = p_1[1]; } } path.increaseVersion(); } // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/tool/path.js var mathSqrt2 = Math.sqrt; var mathSin = Math.sin; var mathCos = Math.cos; var PI = Math.PI; function vMag(v) { return Math.sqrt(v[0] * v[0] + v[1] * v[1]); } function vRatio(u, v) { return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v)); } function vAngle(u, v) { return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v)); } function processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) { var psi = psiDeg * (PI / 180); var xp = mathCos(psi) * (x1 - x2) / 2 + mathSin(psi) * (y1 - y2) / 2; var yp = -1 * mathSin(psi) * (x1 - x2) / 2 + mathCos(psi) * (y1 - y2) / 2; var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry); if (lambda > 1) { rx *= mathSqrt2(lambda); ry *= mathSqrt2(lambda); } var f = (fa === fs ? -1 : 1) * mathSqrt2((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0; var cxp = f * rx * yp / ry; var cyp = f * -ry * xp / rx; var cx = (x1 + x2) / 2 + mathCos(psi) * cxp - mathSin(psi) * cyp; var cy = (y1 + y2) / 2 + mathSin(psi) * cxp + mathCos(psi) * cyp; var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]); var u = [(xp - cxp) / rx, (yp - cyp) / ry]; var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry]; var dTheta = vAngle(u, v); if (vRatio(u, v) <= -1) { dTheta = PI; } if (vRatio(u, v) >= 1) { dTheta = 0; } if (dTheta < 0) { var n = Math.round(dTheta / PI * 1e6) / 1e6; dTheta = PI * 2 + n % 2 * PI; } path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs); } var commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; var numberReg = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; function createPathProxyFromString(data) { var path = new PathProxy_default(); if (!data) { return path; } var cpx = 0; var cpy = 0; var subpathX = cpx; var subpathY = cpy; var prevCmd; var CMD2 = PathProxy_default.CMD; var cmdList = data.match(commandReg); if (!cmdList) { return path; } for (var l = 0; l < cmdList.length; l++) { var cmdText = cmdList[l]; var cmdStr = cmdText.charAt(0); var cmd = void 0; var p = cmdText.match(numberReg) || []; var pLen = p.length; for (var i = 0; i < pLen; i++) { p[i] = parseFloat(p[i]); } var off = 0; while (off < pLen) { var ctlPtx = void 0; var ctlPty = void 0; var rx = void 0; var ry = void 0; var psi = void 0; var fa = void 0; var fs = void 0; var x1 = cpx; var y1 = cpy; var len = void 0; var pathData = void 0; switch (cmdStr) { case "l": cpx += p[off++]; cpy += p[off++]; cmd = CMD2.L; path.addData(cmd, cpx, cpy); break; case "L": cpx = p[off++]; cpy = p[off++]; cmd = CMD2.L; path.addData(cmd, cpx, cpy); break; case "m": cpx += p[off++]; cpy += p[off++]; cmd = CMD2.M; path.addData(cmd, cpx, cpy); subpathX = cpx; subpathY = cpy; cmdStr = "l"; break; case "M": cpx = p[off++]; cpy = p[off++]; cmd = CMD2.M; path.addData(cmd, cpx, cpy); subpathX = cpx; subpathY = cpy; cmdStr = "L"; break; case "h": cpx += p[off++]; cmd = CMD2.L; path.addData(cmd, cpx, cpy); break; case "H": cpx = p[off++]; cmd = CMD2.L; path.addData(cmd, cpx, cpy); break; case "v": cpy += p[off++]; cmd = CMD2.L; path.addData(cmd, cpx, cpy); break; case "V": cpy = p[off++]; cmd = CMD2.L; path.addData(cmd, cpx, cpy); break; case "C": cmd = CMD2.C; path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]); cpx = p[off - 2]; cpy = p[off - 1]; break; case "c": cmd = CMD2.C; path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy); cpx += p[off - 2]; cpy += p[off - 1]; break; case "S": ctlPtx = cpx; ctlPty = cpy; len = path.len(); pathData = path.data; if (prevCmd === CMD2.C) { ctlPtx += cpx - pathData[len - 4]; ctlPty += cpy - pathData[len - 3]; } cmd = CMD2.C; x1 = p[off++]; y1 = p[off++]; cpx = p[off++]; cpy = p[off++]; path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy); break; case "s": ctlPtx = cpx; ctlPty = cpy; len = path.len(); pathData = path.data; if (prevCmd === CMD2.C) { ctlPtx += cpx - pathData[len - 4]; ctlPty += cpy - pathData[len - 3]; } cmd = CMD2.C; x1 = cpx + p[off++]; y1 = cpy + p[off++]; cpx += p[off++]; cpy += p[off++]; path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy); break; case "Q": x1 = p[off++]; y1 = p[off++]; cpx = p[off++]; cpy = p[off++]; cmd = CMD2.Q; path.addData(cmd, x1, y1, cpx, cpy); break; case "q": x1 = p[off++] + cpx; y1 = p[off++] + cpy; cpx += p[off++]; cpy += p[off++]; cmd = CMD2.Q; path.addData(cmd, x1, y1, cpx, cpy); break; case "T": ctlPtx = cpx; ctlPty = cpy; len = path.len(); pathData = path.data; if (prevCmd === CMD2.Q) { ctlPtx += cpx - pathData[len - 4]; ctlPty += cpy - pathData[len - 3]; } cpx = p[off++]; cpy = p[off++]; cmd = CMD2.Q; path.addData(cmd, ctlPtx, ctlPty, cpx, cpy); break; case "t": ctlPtx = cpx; ctlPty = cpy; len = path.len(); pathData = path.data; if (prevCmd === CMD2.Q) { ctlPtx += cpx - pathData[len - 4]; ctlPty += cpy - pathData[len - 3]; } cpx += p[off++]; cpy += p[off++]; cmd = CMD2.Q; path.addData(cmd, ctlPtx, ctlPty, cpx, cpy); break; case "A": rx = p[off++]; ry = p[off++]; psi = p[off++]; fa = p[off++]; fs = p[off++]; x1 = cpx, y1 = cpy; cpx = p[off++]; cpy = p[off++]; cmd = CMD2.A; processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path); break; case "a": rx = p[off++]; ry = p[off++]; psi = p[off++]; fa = p[off++]; fs = p[off++]; x1 = cpx, y1 = cpy; cpx += p[off++]; cpy += p[off++]; cmd = CMD2.A; processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path); break; } } if (cmdStr === "z" || cmdStr === "Z") { cmd = CMD2.Z; path.addData(cmd); cpx = subpathX; cpy = subpathY; } prevCmd = cmd; } path.toStatic(); return path; } var SVGPath = function(_super) { __extends(SVGPath2, _super); function SVGPath2() { return _super !== null && _super.apply(this, arguments) || this; } SVGPath2.prototype.applyTransform = function(m2) { }; return SVGPath2; }(Path_default); function isPathProxy(path) { return path.setData != null; } function createPathOptions(str, opts) { var pathProxy = createPathProxyFromString(str); var innerOpts = extend({}, opts); innerOpts.buildPath = function(path) { var beProxy = isPathProxy(path); if (beProxy && path.canSave()) { path.appendPath(pathProxy); var ctx = path.getContext(); if (ctx) { path.rebuildPath(ctx, 1); } } else { var ctx = beProxy ? path.getContext() : path; if (ctx) { pathProxy.rebuildPath(ctx, 1); } } }; innerOpts.applyTransform = function(m2) { transformPath(pathProxy, m2); this.dirtyShape(); }; return innerOpts; } function createFromString(str, opts) { return new SVGPath(createPathOptions(str, opts)); } function extendFromString(str, defaultOpts) { var innerOpts = createPathOptions(str, defaultOpts); var Sub = function(_super) { __extends(Sub2, _super); function Sub2(opts) { var _this = _super.call(this, opts) || this; _this.applyTransform = innerOpts.applyTransform; _this.buildPath = innerOpts.buildPath; return _this; } return Sub2; }(SVGPath); return Sub; } function mergePath(pathEls, opts) { var pathList = []; var len = pathEls.length; for (var i = 0; i < len; i++) { var pathEl = pathEls[i]; pathList.push(pathEl.getUpdatedPathProxy(true)); } var pathBundle = new Path_default(opts); pathBundle.createPathProxy(); pathBundle.buildPath = function(path) { if (isPathProxy(path)) { path.appendPath(pathList); var ctx = path.getContext(); if (ctx) { path.rebuildPath(ctx, 1); } } }; return pathBundle; } function clonePath(sourcePath, opts) { opts = opts || {}; var path = new Path_default(); if (sourcePath.shape) { path.setShape(sourcePath.shape); } path.setStyle(sourcePath.style); if (opts.bakeTransform) { transformPath(path.path, sourcePath.getComputedTransform()); } else { if (opts.toLocal) { path.setLocalTransform(sourcePath.getComputedTransform()); } else { path.copyTransform(sourcePath); } } path.buildPath = sourcePath.buildPath; path.applyTransform = path.applyTransform; path.z = sourcePath.z; path.z2 = sourcePath.z2; path.zlevel = sourcePath.zlevel; return path; } // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Circle.js var CircleShape = /* @__PURE__ */ function() { function CircleShape2() { this.cx = 0; this.cy = 0; this.r = 0; } return CircleShape2; }(); var Circle = function(_super) { __extends(Circle2, _super); function Circle2(opts) { return _super.call(this, opts) || this; } Circle2.prototype.getDefaultShape = function() { return new CircleShape(); }; Circle2.prototype.buildPath = function(ctx, shape) { ctx.moveTo(shape.cx + shape.r, shape.cy); ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2); }; return Circle2; }(Path_default); Circle.prototype.type = "circle"; var Circle_default = Circle; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Ellipse.js var EllipseShape = /* @__PURE__ */ function() { function EllipseShape2() { this.cx = 0; this.cy = 0; this.rx = 0; this.ry = 0; } return EllipseShape2; }(); var Ellipse = function(_super) { __extends(Ellipse2, _super); function Ellipse2(opts) { return _super.call(this, opts) || this; } Ellipse2.prototype.getDefaultShape = function() { return new EllipseShape(); }; Ellipse2.prototype.buildPath = function(ctx, shape) { var k = 0.5522848; var x = shape.cx; var y = shape.cy; var a = shape.rx; var b = shape.ry; var ox = a * k; var oy = b * k; ctx.moveTo(x - a, y); ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b); ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y); ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b); ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y); ctx.closePath(); }; return Ellipse2; }(Path_default); Ellipse.prototype.type = "ellipse"; var Ellipse_default = Ellipse; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/helper/roundSector.js var PI2 = Math.PI; var PI22 = PI2 * 2; var mathSin2 = Math.sin; var mathCos2 = Math.cos; var mathACos = Math.acos; var mathATan2 = Math.atan2; var mathAbs2 = Math.abs; var mathSqrt3 = Math.sqrt; var mathMax2 = Math.max; var mathMin2 = Math.min; var e = 1e-4; function intersect(x0, y0, x1, y1, x2, y2, x3, y3) { var dx10 = x1 - x0; var dy10 = y1 - y0; var dx32 = x3 - x2; var dy32 = y3 - y2; var t = dy32 * dx10 - dx32 * dy10; if (t * t < e) { return; } t = (dx32 * (y0 - y2) - dy32 * (x0 - x2)) / t; return [x0 + t * dx10, y0 + t * dy10]; } function computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) { var x01 = x0 - x1; var y01 = y0 - y1; var lo = (clockwise ? cr : -cr) / mathSqrt3(x01 * x01 + y01 * y01); var ox = lo * y01; var oy = -lo * x01; var x11 = x0 + ox; var y11 = y0 + oy; var x10 = x1 + ox; var y10 = y1 + oy; var x00 = (x11 + x10) / 2; var y00 = (y11 + y10) / 2; var dx = x10 - x11; var dy = y10 - y11; var d2 = dx * dx + dy * dy; var r = radius - cr; var s = x11 * y10 - x10 * y11; var d = (dy < 0 ? -1 : 1) * mathSqrt3(mathMax2(0, r * r * d2 - s * s)); var cx0 = (s * dy - dx * d) / d2; var cy0 = (-s * dx - dy * d) / d2; var cx1 = (s * dy + dx * d) / d2; var cy1 = (-s * dx + dy * d) / d2; var dx0 = cx0 - x00; var dy0 = cy0 - y00; var dx1 = cx1 - x00; var dy1 = cy1 - y00; if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) { cx0 = cx1; cy0 = cy1; } return { cx: cx0, cy: cy0, x0: -ox, y0: -oy, x1: cx0 * (radius / r - 1), y1: cy0 * (radius / r - 1) }; } function normalizeCornerRadius(cr) { var arr; if (isArray(cr)) { var len = cr.length; if (!len) { return cr; } if (len === 1) { arr = [cr[0], cr[0], 0, 0]; } else if (len === 2) { arr = [cr[0], cr[0], cr[1], cr[1]]; } else if (len === 3) { arr = cr.concat(cr[2]); } else { arr = cr; } } else { arr = [cr, cr, cr, cr]; } return arr; } function buildPath(ctx, shape) { var _a2; var radius = mathMax2(shape.r, 0); var innerRadius = mathMax2(shape.r0 || 0, 0); var hasRadius = radius > 0; var hasInnerRadius = innerRadius > 0; if (!hasRadius && !hasInnerRadius) { return; } if (!hasRadius) { radius = innerRadius; innerRadius = 0; } if (innerRadius > radius) { var tmp = radius; radius = innerRadius; innerRadius = tmp; } var startAngle = shape.startAngle, endAngle = shape.endAngle; if (isNaN(startAngle) || isNaN(endAngle)) { return; } var cx = shape.cx, cy = shape.cy; var clockwise = !!shape.clockwise; var arc = mathAbs2(endAngle - startAngle); var mod = arc > PI22 && arc % PI22; mod > e && (arc = mod); if (!(radius > e)) { ctx.moveTo(cx, cy); } else if (arc > PI22 - e) { ctx.moveTo(cx + radius * mathCos2(startAngle), cy + radius * mathSin2(startAngle)); ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise); if (innerRadius > e) { ctx.moveTo(cx + innerRadius * mathCos2(endAngle), cy + innerRadius * mathSin2(endAngle)); ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise); } } else { var icrStart = void 0; var icrEnd = void 0; var ocrStart = void 0; var ocrEnd = void 0; var ocrs = void 0; var ocre = void 0; var icrs = void 0; var icre = void 0; var ocrMax = void 0; var icrMax = void 0; var limitedOcrMax = void 0; var limitedIcrMax = void 0; var xre = void 0; var yre = void 0; var xirs = void 0; var yirs = void 0; var xrs = radius * mathCos2(startAngle); var yrs = radius * mathSin2(startAngle); var xire = innerRadius * mathCos2(endAngle); var yire = innerRadius * mathSin2(endAngle); var hasArc = arc > e; if (hasArc) { var cornerRadius = shape.cornerRadius; if (cornerRadius) { _a2 = normalizeCornerRadius(cornerRadius), icrStart = _a2[0], icrEnd = _a2[1], ocrStart = _a2[2], ocrEnd = _a2[3]; } var halfRd = mathAbs2(radius - innerRadius) / 2; ocrs = mathMin2(halfRd, ocrStart); ocre = mathMin2(halfRd, ocrEnd); icrs = mathMin2(halfRd, icrStart); icre = mathMin2(halfRd, icrEnd); limitedOcrMax = ocrMax = mathMax2(ocrs, ocre); limitedIcrMax = icrMax = mathMax2(icrs, icre); if (ocrMax > e || icrMax > e) { xre = radius * mathCos2(endAngle); yre = radius * mathSin2(endAngle); xirs = innerRadius * mathCos2(startAngle); yirs = innerRadius * mathSin2(startAngle); if (arc < PI2) { var it_1 = intersect(xrs, yrs, xirs, yirs, xre, yre, xire, yire); if (it_1) { var x0 = xrs - it_1[0]; var y0 = yrs - it_1[1]; var x1 = xre - it_1[0]; var y1 = yre - it_1[1]; var a = 1 / mathSin2(mathACos((x0 * x1 + y0 * y1) / (mathSqrt3(x0 * x0 + y0 * y0) * mathSqrt3(x1 * x1 + y1 * y1))) / 2); var b = mathSqrt3(it_1[0] * it_1[0] + it_1[1] * it_1[1]); limitedOcrMax = mathMin2(ocrMax, (radius - b) / (a + 1)); limitedIcrMax = mathMin2(icrMax, (innerRadius - b) / (a - 1)); } } } } if (!hasArc) { ctx.moveTo(cx + xrs, cy + yrs); } else if (limitedOcrMax > e) { var crStart = mathMin2(ocrStart, limitedOcrMax); var crEnd = mathMin2(ocrEnd, limitedOcrMax); var ct0 = computeCornerTangents(xirs, yirs, xrs, yrs, radius, crStart, clockwise); var ct1 = computeCornerTangents(xre, yre, xire, yire, radius, crEnd, clockwise); ctx.moveTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0); if (limitedOcrMax < ocrMax && crStart === crEnd) { ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedOcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise); } else { crStart > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crStart, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise); ctx.arc(cx, cy, radius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), !clockwise); crEnd > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crEnd, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise); } } else { ctx.moveTo(cx + xrs, cy + yrs); ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise); } if (!(innerRadius > e) || !hasArc) { ctx.lineTo(cx + xire, cy + yire); } else if (limitedIcrMax > e) { var crStart = mathMin2(icrStart, limitedIcrMax); var crEnd = mathMin2(icrEnd, limitedIcrMax); var ct0 = computeCornerTangents(xire, yire, xre, yre, innerRadius, -crEnd, clockwise); var ct1 = computeCornerTangents(xrs, yrs, xirs, yirs, innerRadius, -crStart, clockwise); ctx.lineTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0); if (limitedIcrMax < icrMax && crStart === crEnd) { ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedIcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise); } else { crEnd > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crEnd, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise); ctx.arc(cx, cy, innerRadius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), clockwise); crStart > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crStart, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise); } } else { ctx.lineTo(cx + xire, cy + yire); ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise); } } ctx.closePath(); } // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Sector.js var SectorShape = /* @__PURE__ */ function() { function SectorShape2() { this.cx = 0; this.cy = 0; this.r0 = 0; this.r = 0; this.startAngle = 0; this.endAngle = Math.PI * 2; this.clockwise = true; this.cornerRadius = 0; } return SectorShape2; }(); var Sector = function(_super) { __extends(Sector2, _super); function Sector2(opts) { return _super.call(this, opts) || this; } Sector2.prototype.getDefaultShape = function() { return new SectorShape(); }; Sector2.prototype.buildPath = function(ctx, shape) { buildPath(ctx, shape); }; Sector2.prototype.isZeroArea = function() { return this.shape.startAngle === this.shape.endAngle || this.shape.r === this.shape.r0; }; return Sector2; }(Path_default); Sector.prototype.type = "sector"; var Sector_default = Sector; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Ring.js var RingShape = /* @__PURE__ */ function() { function RingShape2() { this.cx = 0; this.cy = 0; this.r = 0; this.r0 = 0; } return RingShape2; }(); var Ring = function(_super) { __extends(Ring2, _super); function Ring2(opts) { return _super.call(this, opts) || this; } Ring2.prototype.getDefaultShape = function() { return new RingShape(); }; Ring2.prototype.buildPath = function(ctx, shape) { var x = shape.cx; var y = shape.cy; var PI23 = Math.PI * 2; ctx.moveTo(x + shape.r, y); ctx.arc(x, y, shape.r, 0, PI23, false); ctx.moveTo(x + shape.r0, y); ctx.arc(x, y, shape.r0, 0, PI23, true); }; return Ring2; }(Path_default); Ring.prototype.type = "ring"; var Ring_default = Ring; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/helper/smoothBezier.js function smoothBezier(points2, smooth, isLoop, constraint) { var cps = []; var v = []; var v1 = []; var v2 = []; var prevPoint; var nextPoint; var min2; var max2; if (constraint) { min2 = [Infinity, Infinity]; max2 = [-Infinity, -Infinity]; for (var i = 0, len = points2.length; i < len; i++) { min(min2, min2, points2[i]); max(max2, max2, points2[i]); } min(min2, min2, constraint[0]); max(max2, max2, constraint[1]); } for (var i = 0, len = points2.length; i < len; i++) { var point = points2[i]; if (isLoop) { prevPoint = points2[i ? i - 1 : len - 1]; nextPoint = points2[(i + 1) % len]; } else { if (i === 0 || i === len - 1) { cps.push(clone2(points2[i])); continue; } else { prevPoint = points2[i - 1]; nextPoint = points2[i + 1]; } } sub(v, nextPoint, prevPoint); scale(v, v, smooth); var d0 = distance(point, prevPoint); var d1 = distance(point, nextPoint); var sum = d0 + d1; if (sum !== 0) { d0 /= sum; d1 /= sum; } scale(v1, v, -d0); scale(v2, v, d1); var cp0 = add([], point, v1); var cp1 = add([], point, v2); if (constraint) { max(cp0, cp0, min2); min(cp0, cp0, max2); max(cp1, cp1, min2); min(cp1, cp1, max2); } cps.push(cp0); cps.push(cp1); } if (isLoop) { cps.push(cps.shift()); } return cps; } // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/helper/poly.js function buildPath2(ctx, shape, closePath) { var smooth = shape.smooth; var points2 = shape.points; if (points2 && points2.length >= 2) { if (smooth) { var controlPoints = smoothBezier(points2, smooth, closePath, shape.smoothConstraint); ctx.moveTo(points2[0][0], points2[0][1]); var len = points2.length; for (var i = 0; i < (closePath ? len : len - 1); i++) { var cp1 = controlPoints[i * 2]; var cp2 = controlPoints[i * 2 + 1]; var p = points2[(i + 1) % len]; ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]); } } else { ctx.moveTo(points2[0][0], points2[0][1]); for (var i = 1, l = points2.length; i < l; i++) { ctx.lineTo(points2[i][0], points2[i][1]); } } closePath && ctx.closePath(); } } // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Polygon.js var PolygonShape = /* @__PURE__ */ function() { function PolygonShape2() { this.points = null; this.smooth = 0; this.smoothConstraint = null; } return PolygonShape2; }(); var Polygon = function(_super) { __extends(Polygon2, _super); function Polygon2(opts) { return _super.call(this, opts) || this; } Polygon2.prototype.getDefaultShape = function() { return new PolygonShape(); }; Polygon2.prototype.buildPath = function(ctx, shape) { buildPath2(ctx, shape, true); }; return Polygon2; }(Path_default); Polygon.prototype.type = "polygon"; var Polygon_default = Polygon; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Polyline.js var PolylineShape = /* @__PURE__ */ function() { function PolylineShape2() { this.points = null; this.percent = 1; this.smooth = 0; this.smoothConstraint = null; } return PolylineShape2; }(); var Polyline = function(_super) { __extends(Polyline2, _super); function Polyline2(opts) { return _super.call(this, opts) || this; } Polyline2.prototype.getDefaultStyle = function() { return { stroke: "#000", fill: null }; }; Polyline2.prototype.getDefaultShape = function() { return new PolylineShape(); }; Polyline2.prototype.buildPath = function(ctx, shape) { buildPath2(ctx, shape, false); }; return Polyline2; }(Path_default); Polyline.prototype.type = "polyline"; var Polyline_default = Polyline; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Line.js var subPixelOptimizeOutputShape = {}; var LineShape = /* @__PURE__ */ function() { function LineShape2() { this.x1 = 0; this.y1 = 0; this.x2 = 0; this.y2 = 0; this.percent = 1; } return LineShape2; }(); var Line = function(_super) { __extends(Line2, _super); function Line2(opts) { return _super.call(this, opts) || this; } Line2.prototype.getDefaultStyle = function() { return { stroke: "#000", fill: null }; }; Line2.prototype.getDefaultShape = function() { return new LineShape(); }; Line2.prototype.buildPath = function(ctx, shape) { var x1; var y1; var x2; var y2; if (this.subPixelOptimize) { var optimizedShape = subPixelOptimizeLine(subPixelOptimizeOutputShape, shape, this.style); x1 = optimizedShape.x1; y1 = optimizedShape.y1; x2 = optimizedShape.x2; y2 = optimizedShape.y2; } else { x1 = shape.x1; y1 = shape.y1; x2 = shape.x2; y2 = shape.y2; } var percent = shape.percent; if (percent === 0) { return; } ctx.moveTo(x1, y1); if (percent < 1) { x2 = x1 * (1 - percent) + x2 * percent; y2 = y1 * (1 - percent) + y2 * percent; } ctx.lineTo(x2, y2); }; Line2.prototype.pointAt = function(p) { var shape = this.shape; return [ shape.x1 * (1 - p) + shape.x2 * p, shape.y1 * (1 - p) + shape.y2 * p ]; }; return Line2; }(Path_default); Line.prototype.type = "line"; var Line_default = Line; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/BezierCurve.js var out = []; var BezierCurveShape = /* @__PURE__ */ function() { function BezierCurveShape2() { this.x1 = 0; this.y1 = 0; this.x2 = 0; this.y2 = 0; this.cpx1 = 0; this.cpy1 = 0; this.percent = 1; } return BezierCurveShape2; }(); function someVectorAt(shape, t, isTangent) { var cpx2 = shape.cpx2; var cpy2 = shape.cpy2; if (cpx2 != null || cpy2 != null) { return [ (isTangent ? cubicDerivativeAt : cubicAt)(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t), (isTangent ? cubicDerivativeAt : cubicAt)(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t) ]; } else { return [ (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.x1, shape.cpx1, shape.x2, t), (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.y1, shape.cpy1, shape.y2, t) ]; } } var BezierCurve = function(_super) { __extends(BezierCurve2, _super); function BezierCurve2(opts) { return _super.call(this, opts) || this; } BezierCurve2.prototype.getDefaultStyle = function() { return { stroke: "#000", fill: null }; }; BezierCurve2.prototype.getDefaultShape = function() { return new BezierCurveShape(); }; BezierCurve2.prototype.buildPath = function(ctx, shape) { var x1 = shape.x1; var y1 = shape.y1; var x2 = shape.x2; var y2 = shape.y2; var cpx1 = shape.cpx1; var cpy1 = shape.cpy1; var cpx2 = shape.cpx2; var cpy2 = shape.cpy2; var percent = shape.percent; if (percent === 0) { return; } ctx.moveTo(x1, y1); if (cpx2 == null || cpy2 == null) { if (percent < 1) { quadraticSubdivide(x1, cpx1, x2, percent, out); cpx1 = out[1]; x2 = out[2]; quadraticSubdivide(y1, cpy1, y2, percent, out); cpy1 = out[1]; y2 = out[2]; } ctx.quadraticCurveTo(cpx1, cpy1, x2, y2); } else { if (percent < 1) { cubicSubdivide(x1, cpx1, cpx2, x2, percent, out); cpx1 = out[1]; cpx2 = out[2]; x2 = out[3]; cubicSubdivide(y1, cpy1, cpy2, y2, percent, out); cpy1 = out[1]; cpy2 = out[2]; y2 = out[3]; } ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2); } }; BezierCurve2.prototype.pointAt = function(t) { return someVectorAt(this.shape, t, false); }; BezierCurve2.prototype.tangentAt = function(t) { var p = someVectorAt(this.shape, t, true); return normalize(p, p); }; return BezierCurve2; }(Path_default); BezierCurve.prototype.type = "bezier-curve"; var BezierCurve_default = BezierCurve; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/shape/Arc.js var ArcShape = /* @__PURE__ */ function() { function ArcShape2() { this.cx = 0; this.cy = 0; this.r = 0; this.startAngle = 0; this.endAngle = Math.PI * 2; this.clockwise = true; } return ArcShape2; }(); var Arc = function(_super) { __extends(Arc2, _super); function Arc2(opts) { return _super.call(this, opts) || this; } Arc2.prototype.getDefaultStyle = function() { return { stroke: "#000", fill: null }; }; Arc2.prototype.getDefaultShape = function() { return new ArcShape(); }; Arc2.prototype.buildPath = function(ctx, shape) { var x = shape.cx; var y = shape.cy; var r = Math.max(shape.r, 0); var startAngle = shape.startAngle; var endAngle = shape.endAngle; var clockwise = shape.clockwise; var unitX = Math.cos(startAngle); var unitY = Math.sin(startAngle); ctx.moveTo(unitX * r + x, unitY * r + y); ctx.arc(x, y, r, startAngle, endAngle, !clockwise); }; return Arc2; }(Path_default); Arc.prototype.type = "arc"; var Arc_default = Arc; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/Gradient.js var Gradient = function() { function Gradient2(colorStops) { this.colorStops = colorStops || []; } Gradient2.prototype.addColorStop = function(offset, color3) { this.colorStops.push({ offset, color: color3 }); }; return Gradient2; }(); var Gradient_default = Gradient; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/LinearGradient.js var LinearGradient = function(_super) { __extends(LinearGradient2, _super); function LinearGradient2(x, y, x2, y2, colorStops, globalCoord) { var _this = _super.call(this, colorStops) || this; _this.x = x == null ? 0 : x; _this.y = y == null ? 0 : y; _this.x2 = x2 == null ? 1 : x2; _this.y2 = y2 == null ? 0 : y2; _this.type = "linear"; _this.global = globalCoord || false; return _this; } return LinearGradient2; }(Gradient_default); var LinearGradient_default = LinearGradient; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/RadialGradient.js var RadialGradient = function(_super) { __extends(RadialGradient2, _super); function RadialGradient2(x, y, r, colorStops, globalCoord) { var _this = _super.call(this, colorStops) || this; _this.x = x == null ? 0.5 : x; _this.y = y == null ? 0.5 : y; _this.r = r == null ? 0.5 : r; _this.type = "radial"; _this.global = globalCoord || false; return _this; } return RadialGradient2; }(Gradient_default); var RadialGradient_default = RadialGradient; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/core/OrientedBoundingRect.js var mathMin3 = Math.min; var mathMax3 = Math.max; var mathAbs3 = Math.abs; var _extent = [0, 0]; var _extent2 = [0, 0]; var _intersectCtx = createIntersectContext(); var _minTv = _intersectCtx.minTv; var _maxTv = _intersectCtx.maxTv; var OrientedBoundingRect = function() { function OrientedBoundingRect2(rect, transform) { this._corners = []; this._axes = []; this._origin = [0, 0]; for (var i = 0; i < 4; i++) { this._corners[i] = new Point_default(); } for (var i = 0; i < 2; i++) { this._axes[i] = new Point_default(); } if (rect) { this.fromBoundingRect(rect, transform); } } OrientedBoundingRect2.prototype.fromBoundingRect = function(rect, transform) { var corners = this._corners; var axes = this._axes; var x = rect.x; var y = rect.y; var x2 = x + rect.width; var y2 = y + rect.height; corners[0].set(x, y); corners[1].set(x2, y); corners[2].set(x2, y2); corners[3].set(x, y2); if (transform) { for (var i = 0; i < 4; i++) { corners[i].transform(transform); } } Point_default.sub(axes[0], corners[1], corners[0]); Point_default.sub(axes[1], corners[3], corners[0]); axes[0].normalize(); axes[1].normalize(); for (var i = 0; i < 2; i++) { this._origin[i] = axes[i].dot(corners[0]); } }; OrientedBoundingRect2.prototype.intersect = function(other, mtv, opt) { var overlapped = true; var noMtv = !mtv; if (mtv) { Point_default.set(mtv, 0, 0); } _intersectCtx.reset(opt, !noMtv); if (!this._intersectCheckOneSide(this, other, noMtv, 1)) { overlapped = false; if (noMtv) { return overlapped; } } if (!this._intersectCheckOneSide(other, this, noMtv, -1)) { overlapped = false; if (noMtv) { return overlapped; } } if (!noMtv && !_intersectCtx.negativeSize) { Point_default.copy(mtv, overlapped ? _intersectCtx.useDir ? _intersectCtx.dirMinTv : _minTv : _maxTv); } return overlapped; }; OrientedBoundingRect2.prototype._intersectCheckOneSide = function(self, other, noMtv, inverse) { var overlapped = true; for (var i = 0; i < 2; i++) { var axis = self._axes[i]; self._getProjMinMaxOnAxis(i, self._corners, _extent); self._getProjMinMaxOnAxis(i, other._corners, _extent2); if (_intersectCtx.negativeSize || _extent[1] < _extent2[0] || _extent[0] > _extent2[1]) { overlapped = false; if (_intersectCtx.negativeSize || noMtv) { return overlapped; } var dist0 = mathAbs3(_extent2[0] - _extent[1]); var dist1 = mathAbs3(_extent[0] - _extent2[1]); if (mathMin3(dist0, dist1) > _maxTv.len()) { if (dist0 < dist1) { Point_default.scale(_maxTv, axis, -dist0 * inverse); } else { Point_default.scale(_maxTv, axis, dist1 * inverse); } } } else if (!noMtv) { var dist0 = mathAbs3(_extent2[0] - _extent[1]); var dist1 = mathAbs3(_extent[0] - _extent2[1]); if (_intersectCtx.useDir || mathMin3(dist0, dist1) < _minTv.len()) { if (dist0 < dist1 || !_intersectCtx.bidirectional) { Point_default.scale(_minTv, axis, dist0 * inverse); if (_intersectCtx.useDir) { _intersectCtx.calcDirMTV(); } } if (dist0 >= dist1 || !_intersectCtx.bidirectional) { Point_default.scale(_minTv, axis, -dist1 * inverse); if (_intersectCtx.useDir) { _intersectCtx.calcDirMTV(); } } } } } return overlapped; }; OrientedBoundingRect2.prototype._getProjMinMaxOnAxis = function(dim, corners, out2) { var axis = this._axes[dim]; var origin = this._origin; var proj = corners[0].dot(axis) + origin[dim]; var min2 = proj; var max2 = proj; for (var i = 1; i < corners.length; i++) { var proj_1 = corners[i].dot(axis) + origin[dim]; min2 = mathMin3(proj_1, min2); max2 = mathMax3(proj_1, max2); } out2[0] = min2 + _intersectCtx.touchThreshold; out2[1] = max2 - _intersectCtx.touchThreshold; _intersectCtx.negativeSize = out2[1] < out2[0]; }; return OrientedBoundingRect2; }(); var OrientedBoundingRect_default = OrientedBoundingRect; // ../node_modules/.pnpm/zrender@6.0.0/node_modules/zrender/lib/graphic/IncrementalDisplayable.js var m = []; var IncrementalDisplayable = function(_super) { __extends(IncrementalDisplayable2, _super); function IncrementalDisplayable2() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.notClear = true; _this.incremental = true; _this._displayables = []; _this._temporaryDisplayables = []; _this._cursor = 0; return _this; } IncrementalDisplayable2.prototype.traverse = function(cb, context) { cb.call(context, this); }; IncrementalDisplayable2.prototype.useStyle = function() { this.style = {}; }; IncrementalDisplayable2.prototype.getCursor = function() { return this._cursor; }; IncrementalDisplayable2.prototype.innerAfterBrush = function() { this._cursor = this._displayables.length; }; IncrementalDisplayable2.prototype.clearDisplaybles = function() { this._displayables = []; this._temporaryDisplayables = []; this._cursor = 0; this.markRedraw(); this.notClear = false; }; IncrementalDisplayable2.prototype.clearTemporalDisplayables = function() { this._temporaryDisplayables = []; }; IncrementalDisplayable2.prototype.addDisplayable = function(displayable, notPersistent) { if (notPersistent) { this._temporaryDisplayables.push(displayable); } else { this._displayables.push(displayable); } this.markRedraw(); }; IncrementalDisplayable2.prototype.addDisplayables = function(displayables, notPersistent) { notPersistent = notPersistent || false; for (var i = 0; i < displayables.length; i++) { this.addDisplayable(displayables[i], notPersistent); } }; IncrementalDisplayable2.prototype.getDisplayables = function() { return this._displayables; }; IncrementalDisplayable2.prototype.getTemporalDisplayables = function() { return this._temporaryDisplayables; }; IncrementalDisplayable2.prototype.eachPendingDisplayable = function(cb) { for (var i = this._cursor; i < this._displayables.length; i++) { cb && cb(this._displayables[i]); } for (var i = 0; i < this._temporaryDisplayables.length; i++) { cb && cb(this._temporaryDisplayables[i]); } }; IncrementalDisplayable2.prototype.update = function() { this.updateTransform(); for (var i = this._cursor; i < this._displayables.length; i++) { var displayable = this._displayables[i]; displayable.parent = this; displayable.update(); displayable.parent = null; } for (var i = 0; i < this._temporaryDisplayables.length; i++) { var displayable = this._temporaryDisplayables[i]; displayable.parent = this; displayable.update(); displayable.parent = null; } }; IncrementalDisplayable2.prototype.getBoundingRect = function() { if (!this._rect) { var rect = new BoundingRect_default(Infinity, Infinity, -Infinity, -Infinity); for (var i = 0; i < this._displayables.length; i++) { var displayable = this._displayables[i]; var childRect = displayable.getBoundingRect().clone(); if (displayable.needLocalTransform()) { childRect.applyTransform(displayable.getLocalTransform(m)); } rect.union(childRect); } this._rect = rect; } return this._rect; }; IncrementalDisplayable2.prototype.contain = function(x, y) { var localPos = this.transformCoordToLocal(x, y); var rect = this.getBoundingRect(); if (rect.contain(localPos[0], localPos[1])) { for (var i = 0; i < this._displayables.length; i++) { var displayable = this._displayables[i]; if (displayable.contain(x, y)) { return true; } } } return false; }; return IncrementalDisplayable2; }(Displayable_default); var IncrementalDisplayable_default = IncrementalDisplayable; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/animation/basicTransition.js var transitionStore = makeInner(); function getAnimationConfig(animationType, animatableModel, dataIndex, extraOpts, extraDelayParams) { var animationPayload; if (animatableModel && animatableModel.ecModel) { var updatePayload = animatableModel.ecModel.getUpdatePayload(); animationPayload = updatePayload && updatePayload.animation; } var animationEnabled = animatableModel && animatableModel.isAnimationEnabled(); var isUpdate = animationType === "update"; if (animationEnabled) { var duration = void 0; var easing = void 0; var delay = void 0; if (extraOpts) { duration = retrieve2(extraOpts.duration, 200); easing = retrieve2(extraOpts.easing, "cubicOut"); delay = 0; } else { duration = animatableModel.getShallow(isUpdate ? "animationDurationUpdate" : "animationDuration"); easing = animatableModel.getShallow(isUpdate ? "animationEasingUpdate" : "animationEasing"); delay = animatableModel.getShallow(isUpdate ? "animationDelayUpdate" : "animationDelay"); } if (animationPayload) { animationPayload.duration != null && (duration = animationPayload.duration); animationPayload.easing != null && (easing = animationPayload.easing); animationPayload.delay != null && (delay = animationPayload.delay); } if (isFunction(delay)) { delay = delay(dataIndex, extraDelayParams); } if (isFunction(duration)) { duration = duration(dataIndex); } var config = { duration: duration || 0, delay, easing }; return config; } else { return null; } } function animateOrSetProps(animationType, el, props, animatableModel, dataIndex, cb, during) { var isFrom = false; var removeOpt; if (isFunction(dataIndex)) { during = cb; cb = dataIndex; dataIndex = null; } else if (isObject(dataIndex)) { cb = dataIndex.cb; during = dataIndex.during; isFrom = dataIndex.isFrom; removeOpt = dataIndex.removeOpt; dataIndex = dataIndex.dataIndex; } var isRemove = animationType === "leave"; if (!isRemove) { el.stopAnimation("leave"); } var animationConfig = getAnimationConfig(animationType, animatableModel, dataIndex, isRemove ? removeOpt || {} : null, animatableModel && animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null); if (animationConfig && animationConfig.duration > 0) { var duration = animationConfig.duration; var animationDelay = animationConfig.delay; var animationEasing = animationConfig.easing; var animateConfig = { duration, delay: animationDelay || 0, easing: animationEasing, done: cb, force: !!cb || !!during, // Set to final state in update/init animation. // So the post processing based on the path shape can be done correctly. setToFinal: !isRemove, scope: animationType, during }; isFrom ? el.animateFrom(props, animateConfig) : el.animateTo(props, animateConfig); } else { el.stopAnimation(); !isFrom && el.attr(props); during && during(1); cb && cb(); } } function updateProps(el, props, animatableModel, dataIndex, cb, during) { animateOrSetProps("update", el, props, animatableModel, dataIndex, cb, during); } function initProps(el, props, animatableModel, dataIndex, cb, during) { animateOrSetProps("enter", el, props, animatableModel, dataIndex, cb, during); } function isElementRemoved(el) { if (!el.__zr) { return true; } for (var i = 0; i < el.animators.length; i++) { var animator = el.animators[i]; if (animator.scope === "leave") { return true; } } return false; } function removeElement(el, props, animatableModel, dataIndex, cb, during) { if (isElementRemoved(el)) { return; } animateOrSetProps("leave", el, props, animatableModel, dataIndex, cb, during); } function fadeOutDisplayable(el, animatableModel, dataIndex, done) { el.removeTextContent(); el.removeTextGuideLine(); removeElement(el, { style: { opacity: 0 } }, animatableModel, dataIndex, done); } function removeElementWithFadeOut(el, animatableModel, dataIndex) { function doRemove() { el.parent && el.parent.remove(el); } if (!el.isGroup) { fadeOutDisplayable(el, animatableModel, dataIndex, doRemove); } else { el.traverse(function(disp) { if (!disp.isGroup) { fadeOutDisplayable(disp, animatableModel, dataIndex, doRemove); } }); } } function saveOldStyle(el) { transitionStore(el).oldStyle = el.style; } function getOldStyle(el) { return transitionStore(el).oldStyle; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/graphic.js var _customShapeMap = {}; var XY = ["x", "y"]; var WH = ["width", "height"]; function extendShape(opts) { return Path_default.extend(opts); } var extendPathFromString = extendFromString; function extendPath(pathData, opts) { return extendPathFromString(pathData, opts); } function registerShape(name, ShapeClass) { _customShapeMap[name] = ShapeClass; } function getShapeClass(name) { if (_customShapeMap.hasOwnProperty(name)) { return _customShapeMap[name]; } } function makePath(pathData, opts, rect, layout2) { var path = createFromString(pathData, opts); if (rect) { if (layout2 === "center") { rect = centerGraphic(rect, path.getBoundingRect()); } resizePath(path, rect); } return path; } function makeImage(imageUrl, rect, layout2) { var zrImg = new Image_default({ style: { image: imageUrl, x: rect.x, y: rect.y, width: rect.width, height: rect.height }, onload: function(img) { if (layout2 === "center") { var boundingRect = { width: img.width, height: img.height }; zrImg.setStyle(centerGraphic(rect, boundingRect)); } } }); return zrImg; } function centerGraphic(rect, boundingRect) { var aspect = boundingRect.width / boundingRect.height; var width = rect.height * aspect; var height; if (width <= rect.width) { height = rect.height; } else { width = rect.width; height = width / aspect; } var cx = rect.x + rect.width / 2; var cy = rect.y + rect.height / 2; return { x: cx - width / 2, y: cy - height / 2, width, height }; } var mergePath2 = mergePath; function resizePath(path, rect) { if (!path.applyTransform) { return; } var pathRect = path.getBoundingRect(); var m2 = pathRect.calculateTransform(rect); path.applyTransform(m2); } function subPixelOptimizeLine2(shape, lineWidth) { subPixelOptimizeLine(shape, shape, { lineWidth }); return shape; } function subPixelOptimizeRect2(shape, style) { subPixelOptimizeRect(shape, shape, style); return shape; } var subPixelOptimize2 = subPixelOptimize; function getTransform(target, ancestor) { var mat = identity([]); while (target && target !== ancestor) { mul(mat, target.getLocalTransform(), mat); target = target.parent; } return mat; } function applyTransform2(target, transform, invert2) { if (transform && !isArrayLike(transform)) { transform = Transformable_default.getLocalTransform(transform); } if (invert2) { transform = invert([], transform); } return applyTransform([], target, transform); } function transformDirection(direction, transform, invert2) { var hBase = transform[4] === 0 || transform[5] === 0 || transform[0] === 0 ? 1 : mathAbs(2 * transform[4] / transform[0]); var vBase = transform[4] === 0 || transform[5] === 0 || transform[2] === 0 ? 1 : mathAbs(2 * transform[4] / transform[2]); var vertex = [direction === "left" ? -hBase : direction === "right" ? hBase : 0, direction === "top" ? -vBase : direction === "bottom" ? vBase : 0]; vertex = applyTransform2(vertex, transform, invert2); return mathAbs(vertex[0]) > mathAbs(vertex[1]) ? vertex[0] > 0 ? "right" : "left" : vertex[1] > 0 ? "bottom" : "top"; } function isNotGroup(el) { return !el.isGroup; } function isPath(el) { return el.shape != null; } function groupTransition(g1, g2, animatableModel) { if (!g1 || !g2) { return; } function getElMap(g) { var elMap = {}; g.traverse(function(el) { if (isNotGroup(el) && el.anid) { elMap[el.anid] = el; } }); return elMap; } function getAnimatableProps(el) { var obj = { x: el.x, y: el.y, rotation: el.rotation }; if (isPath(el)) { obj.shape = clone(el.shape); } return obj; } var elMap1 = getElMap(g1); g2.traverse(function(el) { if (isNotGroup(el) && el.anid) { var oldEl = elMap1[el.anid]; if (oldEl) { var newProp = getAnimatableProps(el); el.attr(getAnimatableProps(oldEl)); updateProps(el, newProp, animatableModel, getECData(el).dataIndex); } } }); } function clipPointsByRect(points2, rect) { return map(points2, function(point) { var x = point[0]; x = mathMax(x, rect.x); x = mathMin(x, rect.x + rect.width); var y = point[1]; y = mathMax(y, rect.y); y = mathMin(y, rect.y + rect.height); return [x, y]; }); } function clipRectByRect(targetRect, rect) { var x = mathMax(targetRect.x, rect.x); var x2 = mathMin(targetRect.x + targetRect.width, rect.x + rect.width); var y = mathMax(targetRect.y, rect.y); var y2 = mathMin(targetRect.y + targetRect.height, rect.y + rect.height); if (x2 >= x && y2 >= y) { return { x, y, width: x2 - x, height: y2 - y }; } } function createIcon(iconStr, opt, rect) { var innerOpts = extend({ rectHover: true }, opt); var style = innerOpts.style = { strokeNoScale: true }; rect = rect || { x: -1, y: -1, width: 2, height: 2 }; if (iconStr) { return iconStr.indexOf("image://") === 0 ? (style.image = iconStr.slice(8), defaults(style, rect), new Image_default(innerOpts)) : makePath(iconStr.replace("path://", ""), innerOpts, rect, "center"); } } function linePolygonIntersect(a1x, a1y, a2x, a2y, points2) { for (var i = 0, p2 = points2[points2.length - 1]; i < points2.length; i++) { var p = points2[i]; if (lineLineIntersect(a1x, a1y, a2x, a2y, p[0], p[1], p2[0], p2[1])) { return true; } p2 = p; } } function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) { var mx = a2x - a1x; var my = a2y - a1y; var nx = b2x - b1x; var ny = b2y - b1y; var nmCrossProduct = crossProduct2d(nx, ny, mx, my); if (nearZero(nmCrossProduct)) { return false; } var b1a1x = a1x - b1x; var b1a1y = a1y - b1y; var q = crossProduct2d(b1a1x, b1a1y, mx, my) / nmCrossProduct; if (q < 0 || q > 1) { return false; } var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct; if (p < 0 || p > 1) { return false; } return true; } function crossProduct2d(x1, y1, x2, y2) { return x1 * y2 - x2 * y1; } function nearZero(val) { return val <= 1e-6 && val >= -1e-6; } function expandOrShrinkRect(rect, delta, shrinkOrExpand, noNegative, minSize) { if (delta == null) { return rect; } else if (isNumber(delta)) { _tmpExpandRectDelta[0] = _tmpExpandRectDelta[1] = _tmpExpandRectDelta[2] = _tmpExpandRectDelta[3] = delta; } else { if (true) { assert(delta.length === 4); } _tmpExpandRectDelta[0] = delta[0]; _tmpExpandRectDelta[1] = delta[1]; _tmpExpandRectDelta[2] = delta[2]; _tmpExpandRectDelta[3] = delta[3]; } if (noNegative) { _tmpExpandRectDelta[0] = mathMax(0, _tmpExpandRectDelta[0]); _tmpExpandRectDelta[1] = mathMax(0, _tmpExpandRectDelta[1]); _tmpExpandRectDelta[2] = mathMax(0, _tmpExpandRectDelta[2]); _tmpExpandRectDelta[3] = mathMax(0, _tmpExpandRectDelta[3]); } if (shrinkOrExpand) { _tmpExpandRectDelta[0] = -_tmpExpandRectDelta[0]; _tmpExpandRectDelta[1] = -_tmpExpandRectDelta[1]; _tmpExpandRectDelta[2] = -_tmpExpandRectDelta[2]; _tmpExpandRectDelta[3] = -_tmpExpandRectDelta[3]; } expandRectOnOneDimension(rect, _tmpExpandRectDelta, "x", "width", 3, 1, minSize && minSize[0] || 0); expandRectOnOneDimension(rect, _tmpExpandRectDelta, "y", "height", 0, 2, minSize && minSize[1] || 0); return rect; } var _tmpExpandRectDelta = [0, 0, 0, 0]; function expandRectOnOneDimension(rect, delta, xy, wh, ltIdx, rbIdx, minSize) { var deltaSum = delta[rbIdx] + delta[ltIdx]; var oldSize = rect[wh]; rect[wh] += deltaSum; minSize = mathMax(0, mathMin(minSize, oldSize)); if (rect[wh] < minSize) { rect[wh] = minSize; rect[xy] += delta[ltIdx] >= 0 ? -delta[ltIdx] : delta[rbIdx] >= 0 ? oldSize + delta[rbIdx] : mathAbs(deltaSum) > 1e-8 ? (oldSize - minSize) * delta[ltIdx] / deltaSum : 0; } else { rect[xy] -= delta[ltIdx]; } } function setTooltipConfig(opt) { var itemTooltipOption = opt.itemTooltipOption; var componentModel = opt.componentModel; var itemName = opt.itemName; var itemTooltipOptionObj = isString(itemTooltipOption) ? { formatter: itemTooltipOption } : itemTooltipOption; var mainType = componentModel.mainType; var componentIndex = componentModel.componentIndex; var formatterParams = { componentType: mainType, name: itemName, $vars: ["name"] }; formatterParams[mainType + "Index"] = componentIndex; var formatterParamsExtra = opt.formatterParamsExtra; if (formatterParamsExtra) { each(keys(formatterParamsExtra), function(key) { if (!hasOwn(formatterParams, key)) { formatterParams[key] = formatterParamsExtra[key]; formatterParams.$vars.push(key); } }); } var ecData = getECData(opt.el); ecData.componentMainType = mainType; ecData.componentIndex = componentIndex; ecData.tooltipConfig = { name: itemName, option: defaults({ content: itemName, encodeHTMLContent: true, formatterParams }, itemTooltipOptionObj) }; } function traverseElement(el, cb) { var stopped; if (el.isGroup) { stopped = cb(el); } if (!stopped) { el.traverse(cb); } } function traverseElements(els, cb) { if (els) { if (isArray(els)) { for (var i = 0; i < els.length; i++) { traverseElement(els[i], cb); } } else { traverseElement(els, cb); } } } function isBoundingRectAxisAligned(transform) { return !transform || mathAbs(transform[1]) < AXIS_ALIGN_EPSILON && mathAbs(transform[2]) < AXIS_ALIGN_EPSILON || mathAbs(transform[0]) < AXIS_ALIGN_EPSILON && mathAbs(transform[3]) < AXIS_ALIGN_EPSILON; } var AXIS_ALIGN_EPSILON = 1e-5; function ensureCopyRect(target, source) { return target ? BoundingRect_default.copy(target, source) : source.clone(); } function ensureCopyTransform(target, source) { return source ? copy(target || create(), source) : void 0; } function retrieveZInfo(model) { return { z: model.get("z") || 0, zlevel: model.get("zlevel") || 0 }; } function calcZ2Range(el) { var max2 = -Infinity; var min2 = Infinity; traverseElement(el, function(el2) { visitEl(el2); visitEl(el2.getTextContent()); visitEl(el2.getTextGuideLine()); }); function visitEl(el2) { if (!el2 || el2.isGroup) { return; } var currentStates = el2.currentStates; if (currentStates.length) { for (var idx = 0; idx < currentStates.length; idx++) { calcZ2(el2.states[currentStates[idx]]); } } calcZ2(el2); } function calcZ2(entity) { if (entity) { var z2 = entity.z2; if (z2 > max2) { max2 = z2; } if (z2 < min2) { min2 = z2; } } } if (min2 > max2) { min2 = max2 = 0; } return { min: min2, max: max2 }; } function traverseUpdateZ(el, z, zlevel) { doUpdateZ(el, z, zlevel, -Infinity); } function doUpdateZ(el, z, zlevel, maxZ2) { if (el.ignoreModelZ) { return maxZ2; } var label = el.getTextContent(); var labelLine = el.getTextGuideLine(); var isGroup = el.isGroup; if (isGroup) { var children = el.childrenRef(); for (var i = 0; i < children.length; i++) { maxZ2 = mathMax(doUpdateZ(children[i], z, zlevel, maxZ2), maxZ2); } } else { el.z = z; el.zlevel = zlevel; maxZ2 = mathMax(el.z2 || 0, maxZ2); } if (label) { label.z = z; label.zlevel = zlevel; isFinite(maxZ2) && (label.z2 = maxZ2 + 2); } if (labelLine) { var textGuideLineConfig = el.textGuideLineConfig; labelLine.z = z; labelLine.zlevel = zlevel; isFinite(maxZ2) && (labelLine.z2 = maxZ2 + (textGuideLineConfig && textGuideLineConfig.showAbove ? 1 : -1)); } return maxZ2; } registerShape("circle", Circle_default); registerShape("ellipse", Ellipse_default); registerShape("sector", Sector_default); registerShape("ring", Ring_default); registerShape("polygon", Polygon_default); registerShape("polyline", Polyline_default); registerShape("rect", Rect_default); registerShape("line", Line_default); registerShape("bezierCurve", BezierCurve_default); registerShape("arc", Arc_default); // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/label/labelStyle.js var EMPTY_OBJ = {}; function setLabelText(label, labelTexts) { for (var i = 0; i < SPECIAL_STATES.length; i++) { var stateName = SPECIAL_STATES[i]; var text = labelTexts[stateName]; var state = label.ensureState(stateName); state.style = state.style || {}; state.style.text = text; } var oldStates = label.currentStates.slice(); label.clearStates(true); label.setStyle({ text: labelTexts.normal }); label.useStates(oldStates, true); } function getLabelText(opt, stateModels, interpolatedValue) { var labelFetcher = opt.labelFetcher; var labelDataIndex = opt.labelDataIndex; var labelDimIndex = opt.labelDimIndex; var normalModel = stateModels.normal; var baseText; if (labelFetcher) { baseText = labelFetcher.getFormattedLabel(labelDataIndex, "normal", null, labelDimIndex, normalModel && normalModel.get("formatter"), interpolatedValue != null ? { interpolatedValue } : null); } if (baseText == null) { baseText = isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt, interpolatedValue) : opt.defaultText; } var statesText = { normal: baseText }; for (var i = 0; i < SPECIAL_STATES.length; i++) { var stateName = SPECIAL_STATES[i]; var stateModel = stateModels[stateName]; statesText[stateName] = retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, stateName, null, labelDimIndex, stateModel && stateModel.get("formatter")) : null, baseText); } return statesText; } function setLabelStyle(targetEl, labelStatesModels, opt, stateSpecified) { opt = opt || EMPTY_OBJ; var isSetOnText = targetEl instanceof Text_default; var needsCreateText = false; for (var i = 0; i < DISPLAY_STATES.length; i++) { var stateModel = labelStatesModels[DISPLAY_STATES[i]]; if (stateModel && stateModel.getShallow("show")) { needsCreateText = true; break; } } var textContent = isSetOnText ? targetEl : targetEl.getTextContent(); if (needsCreateText) { if (!isSetOnText) { if (!textContent) { textContent = new Text_default(); targetEl.setTextContent(textContent); } if (targetEl.stateProxy) { textContent.stateProxy = targetEl.stateProxy; } } var labelStatesTexts = getLabelText(opt, labelStatesModels); var normalModel = labelStatesModels.normal; var showNormal = !!normalModel.getShallow("show"); var normalStyle = createTextStyle(normalModel, stateSpecified && stateSpecified.normal, opt, false, !isSetOnText); normalStyle.text = labelStatesTexts.normal; if (!isSetOnText) { targetEl.setTextConfig(createTextConfig(normalModel, opt, false)); } for (var i = 0; i < SPECIAL_STATES.length; i++) { var stateName = SPECIAL_STATES[i]; var stateModel = labelStatesModels[stateName]; if (stateModel) { var stateObj = textContent.ensureState(stateName); var stateShow = !!retrieve2(stateModel.getShallow("show"), showNormal); if (stateShow !== showNormal) { stateObj.ignore = !stateShow; } stateObj.style = createTextStyle(stateModel, stateSpecified && stateSpecified[stateName], opt, true, !isSetOnText); stateObj.style.text = labelStatesTexts[stateName]; if (!isSetOnText) { var targetElEmphasisState = targetEl.ensureState(stateName); targetElEmphasisState.textConfig = createTextConfig(stateModel, opt, true); } } } textContent.silent = !!normalModel.getShallow("silent"); if (textContent.style.x != null) { normalStyle.x = textContent.style.x; } if (textContent.style.y != null) { normalStyle.y = textContent.style.y; } textContent.ignore = !showNormal; textContent.useStyle(normalStyle); textContent.dirty(); if (opt.enableTextSetter) { labelInner(textContent).setLabelText = function(interpolatedValue) { var labelStatesTexts2 = getLabelText(opt, labelStatesModels, interpolatedValue); setLabelText(textContent, labelStatesTexts2); }; } } else if (textContent) { textContent.ignore = true; } targetEl.dirty(); } function getLabelStatesModels(itemModel, labelName) { labelName = labelName || "label"; var statesModels = { normal: itemModel.getModel(labelName) }; for (var i = 0; i < SPECIAL_STATES.length; i++) { var stateName = SPECIAL_STATES[i]; statesModels[stateName] = itemModel.getModel([stateName, labelName]); } return statesModels; } function createTextStyle(textStyleModel, specifiedTextStyle, opt, isNotNormal, isAttached) { var textStyle = {}; setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached); specifiedTextStyle && extend(textStyle, specifiedTextStyle); return textStyle; } function createTextConfig(textStyleModel, opt, isNotNormal) { opt = opt || {}; var textConfig = {}; var labelPosition; var labelRotate = textStyleModel.getShallow("rotate"); var labelDistance = retrieve2(textStyleModel.getShallow("distance"), isNotNormal ? null : 5); var labelOffset = textStyleModel.getShallow("offset"); labelPosition = textStyleModel.getShallow("position") || (isNotNormal ? null : "inside"); labelPosition === "outside" && (labelPosition = opt.defaultOutsidePosition || "top"); if (labelPosition != null) { textConfig.position = labelPosition; } if (labelOffset != null) { textConfig.offset = labelOffset; } if (labelRotate != null) { labelRotate *= Math.PI / 180; textConfig.rotation = labelRotate; } if (labelDistance != null) { textConfig.distance = labelDistance; } textConfig.outsideFill = textStyleModel.get("color") === "inherit" ? opt.inheritColor || null : "auto"; if (opt.autoOverflowArea != null) { textConfig.autoOverflowArea = opt.autoOverflowArea; } if (opt.layoutRect != null) { textConfig.layoutRect = opt.layoutRect; } return textConfig; } function setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached) { opt = opt || EMPTY_OBJ; var ecModel = textStyleModel.ecModel; var globalTextStyle = ecModel && ecModel.option.textStyle; var richItemNames = getRichItemNames(textStyleModel); var richResult; if (richItemNames) { richResult = {}; var richInheritPlainLabelOptionName = "richInheritPlainLabel"; var richInheritPlainLabel = retrieve2(textStyleModel.get(richInheritPlainLabelOptionName), ecModel ? ecModel.get(richInheritPlainLabelOptionName) : void 0); for (var name_1 in richItemNames) { if (richItemNames.hasOwnProperty(name_1)) { var richTextStyle = textStyleModel.getModel(["rich", name_1]); setTokenTextStyle(richResult[name_1] = {}, richTextStyle, globalTextStyle, textStyleModel, richInheritPlainLabel, opt, isNotNormal, isAttached, false, true); } } } if (richResult) { textStyle.rich = richResult; } var overflow = textStyleModel.get("overflow"); if (overflow) { textStyle.overflow = overflow; } var lineOverflow = textStyleModel.get("lineOverflow"); if (lineOverflow) { textStyle.lineOverflow = lineOverflow; } var labelTextStyle = textStyle; var minMargin = textStyleModel.get("minMargin"); if (minMargin != null) { minMargin = !isNumber(minMargin) ? 0 : minMargin / 2; labelTextStyle.margin = [minMargin, minMargin, minMargin, minMargin]; labelTextStyle.__marginType = LabelMarginType.minMargin; } else { var textMargin = textStyleModel.get("textMargin"); if (textMargin != null) { labelTextStyle.margin = normalizeCssArray(textMargin); labelTextStyle.__marginType = LabelMarginType.textMargin; } } setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, null, null, opt, isNotNormal, isAttached, true, false); } function getRichItemNames(textStyleModel) { var richItemNameMap; while (textStyleModel && textStyleModel !== textStyleModel.ecModel) { var rich = (textStyleModel.option || EMPTY_OBJ).rich; if (rich) { richItemNameMap = richItemNameMap || {}; var richKeys = keys(rich); for (var i = 0; i < richKeys.length; i++) { var richKey = richKeys[i]; richItemNameMap[richKey] = 1; } } textStyleModel = textStyleModel.parentModel; } return richItemNameMap; } var TEXT_PROPS_WITH_GLOBAL = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"]; var TEXT_PROPS_SELF = ["align", "lineHeight", "width", "height", "tag", "verticalAlign", "ellipsis"]; var TEXT_PROPS_BOX = ["padding", "borderWidth", "borderRadius", "borderDashOffset", "backgroundColor", "borderColor", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"]; function setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, plainTextModel, richInheritPlainLabel, opt, isNotNormal, isAttached, isBlock, inRich) { globalTextStyle = !isNotNormal && globalTextStyle || EMPTY_OBJ; var inheritColor = opt && opt.inheritColor; var fillColor = textStyleModel.getShallow("color"); var strokeColor = textStyleModel.getShallow("textBorderColor"); var opacity = retrieve2(textStyleModel.getShallow("opacity"), globalTextStyle.opacity); if (fillColor === "inherit" || fillColor === "auto") { if (true) { if (fillColor === "auto") { deprecateReplaceLog("color: 'auto'", "color: 'inherit'"); } } if (inheritColor) { fillColor = inheritColor; } else { fillColor = null; } } if (strokeColor === "inherit" || strokeColor === "auto") { if (true) { if (strokeColor === "auto") { deprecateReplaceLog("color: 'auto'", "color: 'inherit'"); } } if (inheritColor) { strokeColor = inheritColor; } else { strokeColor = null; } } if (!isAttached) { fillColor = fillColor || globalTextStyle.color; strokeColor = strokeColor || globalTextStyle.textBorderColor; } if (fillColor != null) { textStyle.fill = fillColor; } if (strokeColor != null) { textStyle.stroke = strokeColor; } var textBorderWidth = retrieve2(textStyleModel.getShallow("textBorderWidth"), globalTextStyle.textBorderWidth); if (textBorderWidth != null) { textStyle.lineWidth = textBorderWidth; } var textBorderType = retrieve2(textStyleModel.getShallow("textBorderType"), globalTextStyle.textBorderType); if (textBorderType != null) { textStyle.lineDash = textBorderType; } var textBorderDashOffset = retrieve2(textStyleModel.getShallow("textBorderDashOffset"), globalTextStyle.textBorderDashOffset); if (textBorderDashOffset != null) { textStyle.lineDashOffset = textBorderDashOffset; } if (!isNotNormal && opacity == null && !inRich) { opacity = opt && opt.defaultOpacity; } if (opacity != null) { textStyle.opacity = opacity; } if (!isNotNormal && !isAttached) { if (textStyle.fill == null && opt.inheritColor) { textStyle.fill = opt.inheritColor; } } for (var i = 0; i < TEXT_PROPS_WITH_GLOBAL.length; i++) { var key = TEXT_PROPS_WITH_GLOBAL[i]; var val = richInheritPlainLabel !== false && plainTextModel ? retrieve3(textStyleModel.getShallow(key), plainTextModel.getShallow(key), globalTextStyle[key]) : retrieve2(textStyleModel.getShallow(key), globalTextStyle[key]); if (val != null) { textStyle[key] = val; } } for (var i = 0; i < TEXT_PROPS_SELF.length; i++) { var key = TEXT_PROPS_SELF[i]; var val = textStyleModel.getShallow(key); if (val != null) { textStyle[key] = val; } } if (textStyle.verticalAlign == null) { var baseline = textStyleModel.getShallow("baseline"); if (baseline != null) { textStyle.verticalAlign = baseline; } } if (!isBlock || !opt.disableBox) { for (var i = 0; i < TEXT_PROPS_BOX.length; i++) { var key = TEXT_PROPS_BOX[i]; var val = textStyleModel.getShallow(key); if (val != null) { textStyle[key] = val; } } var borderType = textStyleModel.getShallow("borderType"); if (borderType != null) { textStyle.borderDash = borderType; } if ((textStyle.backgroundColor === "auto" || textStyle.backgroundColor === "inherit") && inheritColor) { if (true) { if (textStyle.backgroundColor === "auto") { deprecateReplaceLog("backgroundColor: 'auto'", "backgroundColor: 'inherit'"); } } textStyle.backgroundColor = inheritColor; } if ((textStyle.borderColor === "auto" || textStyle.borderColor === "inherit") && inheritColor) { if (true) { if (textStyle.borderColor === "auto") { deprecateReplaceLog("borderColor: 'auto'", "borderColor: 'inherit'"); } } textStyle.borderColor = inheritColor; } } } function getFont(opt, ecModel) { var gTextStyleModel = ecModel && ecModel.getModel("textStyle"); return trim([ // FIXME in node-canvas fontWeight is before fontStyle opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow("fontStyle") || "", opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow("fontWeight") || "", (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow("fontSize") || 12) + "px", opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow("fontFamily") || "sans-serif" ].join(" ")); } var labelInner = makeInner(); function setLabelValueAnimation(label, labelStatesModels, value, getDefaultText) { if (!label) { return; } var obj = labelInner(label); obj.prevValue = obj.value; obj.value = value; var normalLabelModel = labelStatesModels.normal; obj.valueAnimation = normalLabelModel.get("valueAnimation"); if (obj.valueAnimation) { obj.precision = normalLabelModel.get("precision"); obj.defaultInterpolatedText = getDefaultText; obj.statesModels = labelStatesModels; } } function animateLabelValue(textEl, dataIndex, data, animatableModel, labelFetcher) { var labelInnerStore = labelInner(textEl); if (!labelInnerStore.valueAnimation || labelInnerStore.prevValue === labelInnerStore.value) { return; } var defaultInterpolatedText = labelInnerStore.defaultInterpolatedText; var currValue = retrieve2(labelInnerStore.interpolatedValue, labelInnerStore.prevValue); var targetValue = labelInnerStore.value; function during(percent) { var interpolated = interpolateRawValues(data, labelInnerStore.precision, currValue, targetValue, percent); labelInnerStore.interpolatedValue = percent === 1 ? null : interpolated; var labelText = getLabelText({ labelDataIndex: dataIndex, labelFetcher, defaultText: defaultInterpolatedText ? defaultInterpolatedText(interpolated) : interpolated + "" }, labelInnerStore.statesModels, interpolated); setLabelText(textEl, labelText); } textEl.percent = 0; (labelInnerStore.prevValue == null ? initProps : updateProps)(textEl, { // percent is used to prevent animation from being aborted #15916 percent: 1 }, animatableModel, dataIndex, null, during); } var LabelMarginType = { minMargin: 1, textMargin: 2 }; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/textStyle.js var PATH_COLOR = ["textStyle", "color"]; var textStyleParams = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "padding", "lineHeight", "rich", "width", "height", "overflow"]; var tmpText = new Text_default(); var TextStyleMixin = ( /** @class */ function() { function TextStyleMixin2() { } TextStyleMixin2.prototype.getTextColor = function(isEmphasis) { var ecModel = this.ecModel; return this.getShallow("color") || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null); }; TextStyleMixin2.prototype.getFont = function() { return getFont({ fontStyle: this.getShallow("fontStyle"), fontWeight: this.getShallow("fontWeight"), fontSize: this.getShallow("fontSize"), fontFamily: this.getShallow("fontFamily") }, this.ecModel); }; TextStyleMixin2.prototype.getTextRect = function(text) { var style = { text, verticalAlign: this.getShallow("verticalAlign") || this.getShallow("baseline") }; for (var i = 0; i < textStyleParams.length; i++) { style[textStyleParams[i]] = this.getShallow(textStyleParams[i]); } tmpText.useStyle(style); tmpText.update(); return tmpText.getBoundingRect(); }; return TextStyleMixin2; }() ); var textStyle_default = TextStyleMixin; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/lineStyle.js var LINE_STYLE_KEY_MAP = [ ["lineWidth", "width"], ["stroke", "color"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["lineDash", "type"], ["lineDashOffset", "dashOffset"], ["lineCap", "cap"], ["lineJoin", "join"], ["miterLimit"] // Option decal is in `DecalObject` but style.decal is in `PatternObject`. // So do not transfer decal directly. ]; var getLineStyle = makeStyleMapper(LINE_STYLE_KEY_MAP); var LineStyleMixin = ( /** @class */ function() { function LineStyleMixin2() { } LineStyleMixin2.prototype.getLineStyle = function(excludes) { return getLineStyle(this, excludes); }; return LineStyleMixin2; }() ); // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/itemStyle.js var ITEM_STYLE_KEY_MAP = [ ["fill", "color"], ["stroke", "borderColor"], ["lineWidth", "borderWidth"], ["opacity"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"], ["lineDash", "borderType"], ["lineDashOffset", "borderDashOffset"], ["lineCap", "borderCap"], ["lineJoin", "borderJoin"], ["miterLimit", "borderMiterLimit"] // Option decal is in `DecalObject` but style.decal is in `PatternObject`. // So do not transfer decal directly. ]; var getItemStyle = makeStyleMapper(ITEM_STYLE_KEY_MAP); var ItemStyleMixin = ( /** @class */ function() { function ItemStyleMixin2() { } ItemStyleMixin2.prototype.getItemStyle = function(excludes, includes) { return getItemStyle(this, excludes, includes); }; return ItemStyleMixin2; }() ); // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/Model.js var Model = ( /** @class */ function() { function Model2(option, parentModel, ecModel) { this.parentModel = parentModel; this.ecModel = ecModel; this.option = option; } Model2.prototype.init = function(option, parentModel, ecModel) { var rest = []; for (var _i = 3; _i < arguments.length; _i++) { rest[_i - 3] = arguments[_i]; } }; Model2.prototype.mergeOption = function(option, ecModel) { merge(this.option, option, true); }; Model2.prototype.get = function(path, ignoreParent) { if (path == null) { return this.option; } return this._doGet(this.parsePath(path), !ignoreParent && this.parentModel); }; Model2.prototype.getShallow = function(key, ignoreParent) { var option = this.option; var val = option == null ? option : option[key]; if (val == null && !ignoreParent) { var parentModel = this.parentModel; if (parentModel) { val = parentModel.getShallow(key); } } return val; }; Model2.prototype.getModel = function(path, parentModel) { var hasPath = path != null; var pathFinal = hasPath ? this.parsePath(path) : null; var obj = hasPath ? this._doGet(pathFinal) : this.option; parentModel = parentModel || this.parentModel && this.parentModel.getModel(this.resolveParentPath(pathFinal)); return new Model2(obj, parentModel, this.ecModel); }; Model2.prototype.isEmpty = function() { return this.option == null; }; Model2.prototype.restoreData = function() { }; Model2.prototype.clone = function() { var Ctor = this.constructor; return new Ctor(clone(this.option)); }; Model2.prototype.parsePath = function(path) { if (typeof path === "string") { return path.split("."); } return path; }; Model2.prototype.resolveParentPath = function(path) { return path; }; Model2.prototype.isAnimationEnabled = function() { if (!env_default.node && this.option) { if (this.option.animation != null) { return !!this.option.animation; } else if (this.parentModel) { return this.parentModel.isAnimationEnabled(); } } }; Model2.prototype._doGet = function(pathArr, parentModel) { var obj = this.option; if (!pathArr) { return obj; } for (var i = 0; i < pathArr.length; i++) { if (!pathArr[i]) { continue; } obj = obj && typeof obj === "object" ? obj[pathArr[i]] : null; if (obj == null) { break; } } if (obj == null && parentModel) { obj = parentModel._doGet(this.resolveParentPath(pathArr), parentModel.parentModel); } return obj; }; return Model2; }() ); enableClassExtend(Model); enableClassCheck(Model); mixin(Model, LineStyleMixin); mixin(Model, ItemStyleMixin); mixin(Model, AreaStyleMixin); mixin(Model, textStyle_default); var Model_default = Model; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/DataDiffer.js function dataIndexMapValueLength(valNumOrArrLengthMoreThan2) { return valNumOrArrLengthMoreThan2 == null ? 0 : valNumOrArrLengthMoreThan2.length || 1; } function defaultKeyGetter(item) { return item; } var DataDiffer = ( /** @class */ function() { function DataDiffer2(oldArr, newArr, oldKeyGetter, newKeyGetter, context, diffMode) { this._old = oldArr; this._new = newArr; this._oldKeyGetter = oldKeyGetter || defaultKeyGetter; this._newKeyGetter = newKeyGetter || defaultKeyGetter; this.context = context; this._diffModeMultiple = diffMode === "multiple"; } DataDiffer2.prototype.add = function(func) { this._add = func; return this; }; DataDiffer2.prototype.update = function(func) { this._update = func; return this; }; DataDiffer2.prototype.updateManyToOne = function(func) { this._updateManyToOne = func; return this; }; DataDiffer2.prototype.updateOneToMany = function(func) { this._updateOneToMany = func; return this; }; DataDiffer2.prototype.updateManyToMany = function(func) { this._updateManyToMany = func; return this; }; DataDiffer2.prototype.remove = function(func) { this._remove = func; return this; }; DataDiffer2.prototype.execute = function() { this[this._diffModeMultiple ? "_executeMultiple" : "_executeOneToOne"](); }; DataDiffer2.prototype._executeOneToOne = function() { var oldArr = this._old; var newArr = this._new; var newDataIndexMap = {}; var oldDataKeyArr = new Array(oldArr.length); var newDataKeyArr = new Array(newArr.length); this._initIndexMap(oldArr, null, oldDataKeyArr, "_oldKeyGetter"); this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter"); for (var i = 0; i < oldArr.length; i++) { var oldKey = oldDataKeyArr[i]; var newIdxMapVal = newDataIndexMap[oldKey]; var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal); if (newIdxMapValLen > 1) { var newIdx = newIdxMapVal.shift(); if (newIdxMapVal.length === 1) { newDataIndexMap[oldKey] = newIdxMapVal[0]; } this._update && this._update(newIdx, i); } else if (newIdxMapValLen === 1) { newDataIndexMap[oldKey] = null; this._update && this._update(newIdxMapVal, i); } else { this._remove && this._remove(i); } } this._performRestAdd(newDataKeyArr, newDataIndexMap); }; DataDiffer2.prototype._executeMultiple = function() { var oldArr = this._old; var newArr = this._new; var oldDataIndexMap = {}; var newDataIndexMap = {}; var oldDataKeyArr = []; var newDataKeyArr = []; this._initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, "_oldKeyGetter"); this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, "_newKeyGetter"); for (var i = 0; i < oldDataKeyArr.length; i++) { var oldKey = oldDataKeyArr[i]; var oldIdxMapVal = oldDataIndexMap[oldKey]; var newIdxMapVal = newDataIndexMap[oldKey]; var oldIdxMapValLen = dataIndexMapValueLength(oldIdxMapVal); var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal); if (oldIdxMapValLen > 1 && newIdxMapValLen === 1) { this._updateManyToOne && this._updateManyToOne(newIdxMapVal, oldIdxMapVal); newDataIndexMap[oldKey] = null; } else if (oldIdxMapValLen === 1 && newIdxMapValLen > 1) { this._updateOneToMany && this._updateOneToMany(newIdxMapVal, oldIdxMapVal); newDataIndexMap[oldKey] = null; } else if (oldIdxMapValLen === 1 && newIdxMapValLen === 1) { this._update && this._update(newIdxMapVal, oldIdxMapVal); newDataIndexMap[oldKey] = null; } else if (oldIdxMapValLen > 1 && newIdxMapValLen > 1) { this._updateManyToMany && this._updateManyToMany(newIdxMapVal, oldIdxMapVal); newDataIndexMap[oldKey] = null; } else if (oldIdxMapValLen > 1) { for (var i_1 = 0; i_1 < oldIdxMapValLen; i_1++) { this._remove && this._remove(oldIdxMapVal[i_1]); } } else { this._remove && this._remove(oldIdxMapVal); } } this._performRestAdd(newDataKeyArr, newDataIndexMap); }; DataDiffer2.prototype._performRestAdd = function(newDataKeyArr, newDataIndexMap) { for (var i = 0; i < newDataKeyArr.length; i++) { var newKey = newDataKeyArr[i]; var newIdxMapVal = newDataIndexMap[newKey]; var idxMapValLen = dataIndexMapValueLength(newIdxMapVal); if (idxMapValLen > 1) { for (var j = 0; j < idxMapValLen; j++) { this._add && this._add(newIdxMapVal[j]); } } else if (idxMapValLen === 1) { this._add && this._add(newIdxMapVal); } newDataIndexMap[newKey] = null; } }; DataDiffer2.prototype._initIndexMap = function(arr, map3, keyArr, keyGetterName) { var cbModeMultiple = this._diffModeMultiple; for (var i = 0; i < arr.length; i++) { var key = "_ec_" + this[keyGetterName](arr[i], i); if (!cbModeMultiple) { keyArr[i] = key; } if (!map3) { continue; } var idxMapVal = map3[key]; var idxMapValLen = dataIndexMapValueLength(idxMapVal); if (idxMapValLen === 0) { map3[key] = i; if (cbModeMultiple) { keyArr.push(key); } } else if (idxMapValLen === 1) { map3[key] = [idxMapVal, i]; } else { idxMapVal.push(i); } } }; return DataDiffer2; }() ); var DataDiffer_default = DataDiffer; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/types.js var VISUAL_DIMENSIONS = createHashMap(["tooltip", "label", "itemName", "itemId", "itemGroupId", "itemChildGroupId", "seriesName"]); var SOURCE_FORMAT_ORIGINAL = "original"; var SOURCE_FORMAT_ARRAY_ROWS = "arrayRows"; var SOURCE_FORMAT_OBJECT_ROWS = "objectRows"; var SOURCE_FORMAT_KEYED_COLUMNS = "keyedColumns"; var SOURCE_FORMAT_TYPED_ARRAY = "typedArray"; var SOURCE_FORMAT_UNKNOWN = "unknown"; var SERIES_LAYOUT_BY_COLUMN = "column"; var SERIES_LAYOUT_BY_ROW = "row"; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/sourceHelper.js var BE_ORDINAL = { Must: 1, Might: 2, Not: 3 // Other cases }; var innerGlobalModel = makeInner(); function resetSourceDefaulter(ecModel) { innerGlobalModel(ecModel).datasetMap = createHashMap(); } function makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) { var encode = {}; var datasetModel = querySeriesUpstreamDatasetModel(seriesModel); if (!datasetModel || !coordDimensions) { return encode; } var encodeItemName = []; var encodeSeriesName = []; var ecModel = seriesModel.ecModel; var datasetMap = innerGlobalModel(ecModel).datasetMap; var key = datasetModel.uid + "_" + source.seriesLayoutBy; var baseCategoryDimIndex; var categoryWayValueDimStart; coordDimensions = coordDimensions.slice(); each(coordDimensions, function(coordDimInfoLoose, coordDimIdx) { var coordDimInfo = isObject(coordDimInfoLoose) ? coordDimInfoLoose : coordDimensions[coordDimIdx] = { name: coordDimInfoLoose }; if (coordDimInfo.type === "ordinal" && baseCategoryDimIndex == null) { baseCategoryDimIndex = coordDimIdx; categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimInfo); } encode[coordDimInfo.name] = []; }); var datasetRecord = datasetMap.get(key) || datasetMap.set(key, { categoryWayDim: categoryWayValueDimStart, valueWayDim: 0 }); each(coordDimensions, function(coordDimInfo, coordDimIdx) { var coordDimName = coordDimInfo.name; var count = getDataDimCountOnCoordDim(coordDimInfo); if (baseCategoryDimIndex == null) { var start = datasetRecord.valueWayDim; pushDim(encode[coordDimName], start, count); pushDim(encodeSeriesName, start, count); datasetRecord.valueWayDim += count; } else if (baseCategoryDimIndex === coordDimIdx) { pushDim(encode[coordDimName], 0, count); pushDim(encodeItemName, 0, count); } else { var start = datasetRecord.categoryWayDim; pushDim(encode[coordDimName], start, count); pushDim(encodeSeriesName, start, count); datasetRecord.categoryWayDim += count; } }); function pushDim(dimIdxArr, idxFrom, idxCount) { for (var i = 0; i < idxCount; i++) { dimIdxArr.push(idxFrom + i); } } function getDataDimCountOnCoordDim(coordDimInfo) { var dimsDef = coordDimInfo.dimsDef; return dimsDef ? dimsDef.length : 1; } encodeItemName.length && (encode.itemName = encodeItemName); encodeSeriesName.length && (encode.seriesName = encodeSeriesName); return encode; } function makeSeriesEncodeForNameBased(seriesModel, source, dimCount) { var encode = {}; var datasetModel = querySeriesUpstreamDatasetModel(seriesModel); if (!datasetModel) { return encode; } var sourceFormat = source.sourceFormat; var dimensionsDefine = source.dimensionsDefine; var potentialNameDimIndex; if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) { each(dimensionsDefine, function(dim, idx) { if ((isObject(dim) ? dim.name : dim) === "name") { potentialNameDimIndex = idx; } }); } var idxResult = function() { var idxRes0 = {}; var idxRes1 = {}; var guessRecords = []; for (var i = 0, len = Math.min(5, dimCount); i < len; i++) { var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i); guessRecords.push(guessResult); var isPureNumber = guessResult === BE_ORDINAL.Not; if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) { idxRes0.v = i; } if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) { idxRes0.n = i; } if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) { return idxRes0; } if (!isPureNumber) { if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) { idxRes1.v = i; } if (idxRes1.n == null || idxRes1.n === idxRes1.v) { idxRes1.n = i; } } } function fulfilled(idxResult2) { return idxResult2.v != null && idxResult2.n != null; } return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null; }(); if (idxResult) { encode.value = [idxResult.v]; var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n; encode.itemName = [nameDimIndex]; encode.seriesName = [nameDimIndex]; } return encode; } function querySeriesUpstreamDatasetModel(seriesModel) { var thisData = seriesModel.get("data", true); if (!thisData) { return queryReferringComponents(seriesModel.ecModel, "dataset", { index: seriesModel.get("datasetIndex", true), id: seriesModel.get("datasetId", true) }, SINGLE_REFERRING).models[0]; } } function queryDatasetUpstreamDatasetModels(datasetModel) { if (!datasetModel.get("transform", true) && !datasetModel.get("fromTransformResult", true)) { return []; } return queryReferringComponents(datasetModel.ecModel, "dataset", { index: datasetModel.get("fromDatasetIndex", true), id: datasetModel.get("fromDatasetId", true) }, SINGLE_REFERRING).models; } function guessOrdinal(source, dimIndex) { return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex); } function doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) { var result; var maxLoop = 5; if (isTypedArray(data)) { return BE_ORDINAL.Not; } var dimName; var dimType; if (dimensionsDefine) { var dimDefItem = dimensionsDefine[dimIndex]; if (isObject(dimDefItem)) { dimName = dimDefItem.name; dimType = dimDefItem.type; } else if (isString(dimDefItem)) { dimName = dimDefItem; } } if (dimType != null) { return dimType === "ordinal" ? BE_ORDINAL.Must : BE_ORDINAL.Not; } if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) { var dataArrayRows = data; if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) { var sample = dataArrayRows[dimIndex]; for (var i = 0; i < (sample || []).length && i < maxLoop; i++) { if ((result = detectValue(sample[startIndex + i])) != null) { return result; } } } else { for (var i = 0; i < dataArrayRows.length && i < maxLoop; i++) { var row = dataArrayRows[startIndex + i]; if (row && (result = detectValue(row[dimIndex])) != null) { return result; } } } } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) { var dataObjectRows = data; if (!dimName) { return BE_ORDINAL.Not; } for (var i = 0; i < dataObjectRows.length && i < maxLoop; i++) { var item = dataObjectRows[i]; if (item && (result = detectValue(item[dimName])) != null) { return result; } } } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) { var dataKeyedColumns = data; if (!dimName) { return BE_ORDINAL.Not; } var sample = dataKeyedColumns[dimName]; if (!sample || isTypedArray(sample)) { return BE_ORDINAL.Not; } for (var i = 0; i < sample.length && i < maxLoop; i++) { if ((result = detectValue(sample[i])) != null) { return result; } } } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) { var dataOriginal = data; for (var i = 0; i < dataOriginal.length && i < maxLoop; i++) { var item = dataOriginal[i]; var val = getDataItemValue(item); if (!isArray(val)) { return BE_ORDINAL.Not; } if ((result = detectValue(val[dimIndex])) != null) { return result; } } } function detectValue(val2) { var beStr = isString(val2); if (val2 != null && Number.isFinite(Number(val2)) && val2 !== "") { return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not; } else if (beStr && val2 !== "-") { return BE_ORDINAL.Must; } } return BE_ORDINAL.Not; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/Source.js var SourceImpl = ( /** @class */ /* @__PURE__ */ function() { function SourceImpl2(fields) { this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []); this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN; this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN; this.startIndex = fields.startIndex || 0; this.dimensionsDetectedCount = fields.dimensionsDetectedCount; this.metaRawOption = fields.metaRawOption; var dimensionsDefine = this.dimensionsDefine = fields.dimensionsDefine; if (dimensionsDefine) { for (var i = 0; i < dimensionsDefine.length; i++) { var dim = dimensionsDefine[i]; if (dim.type == null) { if (guessOrdinal(this, i) === BE_ORDINAL.Must) { dim.type = "ordinal"; } } } } } return SourceImpl2; }() ); function isSourceInstance(val) { return val instanceof SourceImpl; } function createSource(sourceData, thisMetaRawOption, sourceFormat) { sourceFormat = sourceFormat || detectSourceFormat(sourceData); var seriesLayoutBy = thisMetaRawOption.seriesLayoutBy; var determined = determineSourceDimensions(sourceData, sourceFormat, seriesLayoutBy, thisMetaRawOption.sourceHeader, thisMetaRawOption.dimensions); var source = new SourceImpl({ data: sourceData, sourceFormat, seriesLayoutBy, dimensionsDefine: determined.dimensionsDefine, startIndex: determined.startIndex, dimensionsDetectedCount: determined.dimensionsDetectedCount, metaRawOption: clone(thisMetaRawOption) }); return source; } function createSourceFromSeriesDataOption(data) { return new SourceImpl({ data, sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL }); } function cloneSourceShallow(source) { return new SourceImpl({ data: source.data, sourceFormat: source.sourceFormat, seriesLayoutBy: source.seriesLayoutBy, dimensionsDefine: clone(source.dimensionsDefine), startIndex: source.startIndex, dimensionsDetectedCount: source.dimensionsDetectedCount }); } function detectSourceFormat(data) { var sourceFormat = SOURCE_FORMAT_UNKNOWN; if (isTypedArray(data)) { sourceFormat = SOURCE_FORMAT_TYPED_ARRAY; } else if (isArray(data)) { if (data.length === 0) { sourceFormat = SOURCE_FORMAT_ARRAY_ROWS; } for (var i = 0, len = data.length; i < len; i++) { var item = data[i]; if (item == null) { continue; } else if (isArray(item) || isTypedArray(item)) { sourceFormat = SOURCE_FORMAT_ARRAY_ROWS; break; } else if (isObject(item)) { sourceFormat = SOURCE_FORMAT_OBJECT_ROWS; break; } } } else if (isObject(data)) { for (var key in data) { if (hasOwn(data, key) && isArrayLike(data[key])) { sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS; break; } } } return sourceFormat; } function determineSourceDimensions(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) { var dimensionsDetectedCount; var startIndex; if (!data) { return { dimensionsDefine: normalizeDimensionsOption(dimensionsDefine), startIndex, dimensionsDetectedCount }; } if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) { var dataArrayRows = data; if (sourceHeader === "auto" || sourceHeader == null) { arrayRowsTravelFirst(function(val) { if (val != null && val !== "-") { if (isString(val)) { startIndex == null && (startIndex = 1); } else { startIndex = 0; } } }, seriesLayoutBy, dataArrayRows, 10); } else { startIndex = isNumber(sourceHeader) ? sourceHeader : sourceHeader ? 1 : 0; } if (!dimensionsDefine && startIndex === 1) { dimensionsDefine = []; arrayRowsTravelFirst(function(val, index) { dimensionsDefine[index] = val != null ? val + "" : ""; }, seriesLayoutBy, dataArrayRows, Infinity); } dimensionsDetectedCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? dataArrayRows.length : dataArrayRows[0] ? dataArrayRows[0].length : null; } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) { if (!dimensionsDefine) { dimensionsDefine = objectRowsCollectDimensions(data); } } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) { if (!dimensionsDefine) { dimensionsDefine = []; each(data, function(colArr, key) { dimensionsDefine.push(key); }); } } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) { var value0 = getDataItemValue(data[0]); dimensionsDetectedCount = isArray(value0) && value0.length || 1; } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) { if (true) { assert(!!dimensionsDefine, "dimensions must be given if data is TypedArray."); } } return { startIndex, dimensionsDefine: normalizeDimensionsOption(dimensionsDefine), dimensionsDetectedCount }; } function objectRowsCollectDimensions(data) { var firstIndex = 0; var obj; while (firstIndex < data.length && !(obj = data[firstIndex++])) { } if (obj) { return keys(obj); } } function normalizeDimensionsOption(dimensionsDefine) { if (!dimensionsDefine) { return; } var nameMap = createHashMap(); return map(dimensionsDefine, function(rawItem, index) { rawItem = isObject(rawItem) ? rawItem : { name: rawItem }; var item = { name: rawItem.name, displayName: rawItem.displayName, type: rawItem.type }; if (item.name == null) { return item; } item.name += ""; if (item.displayName == null) { item.displayName = item.name; } var exist = nameMap.get(item.name); if (!exist) { nameMap.set(item.name, { count: 1 }); } else { item.name += "-" + exist.count++; } return item; }); } function arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) { if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) { for (var i = 0; i < data.length && i < maxLoop; i++) { cb(data[i] ? data[i][0] : null, i); } } else { var value0 = data[0] || []; for (var i = 0; i < value0.length && i < maxLoop; i++) { cb(value0[i], i); } } } function shouldRetrieveDataByName(source) { var sourceFormat = source.sourceFormat; return sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/dataProvider.js var _a; var _b; var _c; var _d; var providerMethods; var mountMethods; var DefaultDataProvider = ( /** @class */ function() { function DefaultDataProvider2(sourceParam, dimSize) { var source = !isSourceInstance(sourceParam) ? createSourceFromSeriesDataOption(sourceParam) : sourceParam; this._source = source; var data = this._data = source.data; var sourceFormat = source.sourceFormat; var seriesLayoutBy = source.seriesLayoutBy; if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) { if (true) { if (dimSize == null) { throw new Error("Typed array data must specify dimension size"); } } this._offset = 0; this._dimSize = dimSize; this._data = data; } if (true) { var validator = rawSourceDataValidatorMap[getMethodMapKey(sourceFormat, seriesLayoutBy)]; validator && validator(data, source.dimensionsDefine); } mountMethods(this, data, source); } DefaultDataProvider2.prototype.getSource = function() { return this._source; }; DefaultDataProvider2.prototype.count = function() { return 0; }; DefaultDataProvider2.prototype.getItem = function(idx, out2) { return; }; DefaultDataProvider2.prototype.appendData = function(newData) { }; DefaultDataProvider2.prototype.clean = function() { }; DefaultDataProvider2.protoInitialize = function() { var proto = DefaultDataProvider2.prototype; proto.pure = false; proto.persistent = true; }(); DefaultDataProvider2.internalField = function() { var _a2; mountMethods = function(provider, data, source) { var sourceFormat = source.sourceFormat; var seriesLayoutBy = source.seriesLayoutBy; var startIndex = source.startIndex; var dimsDef = source.dimensionsDefine; var methods = providerMethods[getMethodMapKey(sourceFormat, seriesLayoutBy)]; if (true) { assert(methods, "Invalide sourceFormat: " + sourceFormat); } extend(provider, methods); if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) { provider.getItem = getItemForTypedArray; provider.count = countForTypedArray; provider.fillStorage = fillStorageForTypedArray; } else { var rawItemGetter = getRawSourceItemGetter(sourceFormat, seriesLayoutBy); provider.getItem = bind(rawItemGetter, null, data, startIndex, dimsDef); var rawCounter = getRawSourceDataCounter(sourceFormat, seriesLayoutBy); provider.count = bind(rawCounter, null, data, startIndex, dimsDef); } }; var getItemForTypedArray = function(idx, out2) { idx = idx - this._offset; out2 = out2 || []; var data = this._data; var dimSize = this._dimSize; var offset = dimSize * idx; for (var i = 0; i < dimSize; i++) { out2[i] = data[offset + i]; } return out2; }; var fillStorageForTypedArray = function(start, end, storage, extent) { var data = this._data; var dimSize = this._dimSize; for (var dim = 0; dim < dimSize; dim++) { var dimExtent = extent[dim]; var min2 = dimExtent[0] == null ? Infinity : dimExtent[0]; var max2 = dimExtent[1] == null ? -Infinity : dimExtent[1]; var count = end - start; var arr = storage[dim]; for (var i = 0; i < count; i++) { var val = data[i * dimSize + dim]; arr[start + i] = val; val < min2 && (min2 = val); val > max2 && (max2 = val); } dimExtent[0] = min2; dimExtent[1] = max2; } }; var countForTypedArray = function() { return this._data ? this._data.length / this._dimSize : 0; }; providerMethods = (_a2 = {}, _a2[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = { pure: true, appendData: appendDataSimply }, _a2[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = { pure: true, appendData: function() { throw new Error('Do not support appendData when set seriesLayoutBy: "row".'); } }, _a2[SOURCE_FORMAT_OBJECT_ROWS] = { pure: true, appendData: appendDataSimply }, _a2[SOURCE_FORMAT_KEYED_COLUMNS] = { pure: true, appendData: function(newData) { var data = this._data; each(newData, function(newCol, key) { var oldCol = data[key] || (data[key] = []); for (var i = 0; i < (newCol || []).length; i++) { oldCol.push(newCol[i]); } }); } }, _a2[SOURCE_FORMAT_ORIGINAL] = { appendData: appendDataSimply }, _a2[SOURCE_FORMAT_TYPED_ARRAY] = { persistent: false, pure: true, appendData: function(newData) { if (true) { assert(isTypedArray(newData), "Added data must be TypedArray if data in initialization is TypedArray"); } this._data = newData; }, // Clean self if data is already used. clean: function() { this._offset += this.count(); this._data = null; } }, _a2); function appendDataSimply(newData) { for (var i = 0; i < newData.length; i++) { this._data.push(newData[i]); } } }(); return DefaultDataProvider2; }() ); var validateSimply = function(rawData) { if (!isArray(rawData)) { error("series.data or dataset.source must be an array."); } }; var rawSourceDataValidatorMap = (_a = {}, _a[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = validateSimply, _a[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = validateSimply, _a[SOURCE_FORMAT_OBJECT_ROWS] = validateSimply, _a[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, dimsDef) { for (var i = 0; i < dimsDef.length; i++) { var dimName = dimsDef[i].name; if (dimName == null) { error("dimension name must not be null/undefined."); } } }, _a[SOURCE_FORMAT_ORIGINAL] = validateSimply, _a); var getItemSimply = function(rawData, startIndex, dimsDef, idx) { return rawData[idx]; }; var rawSourceItemGetterMap = (_b = {}, _b[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = function(rawData, startIndex, dimsDef, idx) { return rawData[idx + startIndex]; }, _b[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = function(rawData, startIndex, dimsDef, idx, out2) { idx += startIndex; var item = out2 || []; var data = rawData; for (var i = 0; i < data.length; i++) { var row = data[i]; item[i] = row ? row[idx] : null; } return item; }, _b[SOURCE_FORMAT_OBJECT_ROWS] = getItemSimply, _b[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, startIndex, dimsDef, idx, out2) { var item = out2 || []; for (var i = 0; i < dimsDef.length; i++) { var dimName = dimsDef[i].name; var col = dimName != null ? rawData[dimName] : null; item[i] = col ? col[idx] : null; } return item; }, _b[SOURCE_FORMAT_ORIGINAL] = getItemSimply, _b); function getRawSourceItemGetter(sourceFormat, seriesLayoutBy) { var method = rawSourceItemGetterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)]; if (true) { assert(method, 'Do not support get item on "' + sourceFormat + '", "' + seriesLayoutBy + '".'); } return method; } var countSimply = function(rawData, startIndex, dimsDef) { return rawData.length; }; var rawSourceDataCounterMap = (_c = {}, _c[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_COLUMN] = function(rawData, startIndex, dimsDef) { return Math.max(0, rawData.length - startIndex); }, _c[SOURCE_FORMAT_ARRAY_ROWS + "_" + SERIES_LAYOUT_BY_ROW] = function(rawData, startIndex, dimsDef) { var row = rawData[0]; return row ? Math.max(0, row.length - startIndex) : 0; }, _c[SOURCE_FORMAT_OBJECT_ROWS] = countSimply, _c[SOURCE_FORMAT_KEYED_COLUMNS] = function(rawData, startIndex, dimsDef) { var dimName = dimsDef[0].name; var col = dimName != null ? rawData[dimName] : null; return col ? col.length : 0; }, _c[SOURCE_FORMAT_ORIGINAL] = countSimply, _c); function getRawSourceDataCounter(sourceFormat, seriesLayoutBy) { var method = rawSourceDataCounterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)]; if (true) { assert(method, 'Do not support count on "' + sourceFormat + '", "' + seriesLayoutBy + '".'); } return method; } var getRawValueSimply = function(dataItem, dimIndex, property) { return dataItem[dimIndex]; }; var rawSourceValueGetterMap = (_d = {}, _d[SOURCE_FORMAT_ARRAY_ROWS] = getRawValueSimply, _d[SOURCE_FORMAT_OBJECT_ROWS] = function(dataItem, dimIndex, property) { return dataItem[property]; }, _d[SOURCE_FORMAT_KEYED_COLUMNS] = getRawValueSimply, _d[SOURCE_FORMAT_ORIGINAL] = function(dataItem, dimIndex, property) { var value = getDataItemValue(dataItem); return !(value instanceof Array) ? value : value[dimIndex]; }, _d[SOURCE_FORMAT_TYPED_ARRAY] = getRawValueSimply, _d); function getRawSourceValueGetter(sourceFormat) { var method = rawSourceValueGetterMap[sourceFormat]; if (true) { assert(method, 'Do not support get value on "' + sourceFormat + '".'); } return method; } function getMethodMapKey(sourceFormat, seriesLayoutBy) { return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS ? sourceFormat + "_" + seriesLayoutBy : sourceFormat; } function retrieveRawValue(data, dataIndex, dim) { if (!data) { return; } var dataItem = data.getRawDataItem(dataIndex); if (dataItem == null) { return; } var store = data.getStore(); var sourceFormat = store.getSource().sourceFormat; if (dim != null) { var dimIndex = data.getDimensionIndex(dim); var property = store.getDimensionProperty(dimIndex); return getRawSourceValueGetter(sourceFormat)(dataItem, dimIndex, property); } else { var result = dataItem; if (sourceFormat === SOURCE_FORMAT_ORIGINAL) { result = getDataItemValue(dataItem); } return result; } } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/dimensionHelper.js var DimensionUserOuput = ( /** @class */ function() { function DimensionUserOuput2(encode, dimRequest) { this._encode = encode; this._schema = dimRequest; } DimensionUserOuput2.prototype.get = function() { return { // Do not generate full dimension name until fist used. fullDimensions: this._getFullDimensionNames(), encode: this._encode }; }; DimensionUserOuput2.prototype._getFullDimensionNames = function() { if (!this._cachedDimNames) { this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : []; } return this._cachedDimNames; }; return DimensionUserOuput2; }() ); function summarizeDimensions(data, schema) { var summary = {}; var encode = summary.encode = {}; var notExtraCoordDimMap = createHashMap(); var defaultedLabel = []; var defaultedTooltip = []; var userOutputEncode = {}; each(data.dimensions, function(dimName) { var dimItem = data.getDimensionInfo(dimName); var coordDim = dimItem.coordDim; if (coordDim) { if (true) { assert(VISUAL_DIMENSIONS.get(coordDim) == null); } var coordDimIndex = dimItem.coordDimIndex; getOrCreateEncodeArr(encode, coordDim)[coordDimIndex] = dimName; if (!dimItem.isExtraCoord) { notExtraCoordDimMap.set(coordDim, 1); if (mayLabelDimType(dimItem.type)) { defaultedLabel[0] = dimName; } getOrCreateEncodeArr(userOutputEncode, coordDim)[coordDimIndex] = data.getDimensionIndex(dimItem.name); } if (dimItem.defaultTooltip) { defaultedTooltip.push(dimName); } } VISUAL_DIMENSIONS.each(function(v, otherDim) { var encodeArr = getOrCreateEncodeArr(encode, otherDim); var dimIndex = dimItem.otherDims[otherDim]; if (dimIndex != null && dimIndex !== false) { encodeArr[dimIndex] = dimItem.name; } }); }); var dataDimsOnCoord = []; var encodeFirstDimNotExtra = {}; notExtraCoordDimMap.each(function(v, coordDim) { var dimArr = encode[coordDim]; encodeFirstDimNotExtra[coordDim] = dimArr[0]; dataDimsOnCoord = dataDimsOnCoord.concat(dimArr); }); summary.dataDimsOnCoord = dataDimsOnCoord; summary.dataDimIndicesOnCoord = map(dataDimsOnCoord, function(dimName) { return data.getDimensionInfo(dimName).storeDimIndex; }); summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra; var encodeLabel = encode.label; if (encodeLabel && encodeLabel.length) { defaultedLabel = encodeLabel.slice(); } var encodeTooltip = encode.tooltip; if (encodeTooltip && encodeTooltip.length) { defaultedTooltip = encodeTooltip.slice(); } else if (!defaultedTooltip.length) { defaultedTooltip = defaultedLabel.slice(); } encode.defaultedLabel = defaultedLabel; encode.defaultedTooltip = defaultedTooltip; summary.userOutput = new DimensionUserOuput(userOutputEncode, schema); return summary; } function getOrCreateEncodeArr(encode, dim) { if (!encode.hasOwnProperty(dim)) { encode[dim] = []; } return encode[dim]; } function getDimensionTypeByAxis(axisType) { return axisType === "category" ? "ordinal" : axisType === "time" ? "time" : "float"; } function mayLabelDimType(dimType) { return !(dimType === "ordinal" || dimType === "time"); } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/SeriesDimensionDefine.js var SeriesDimensionDefine = ( /** @class */ /* @__PURE__ */ function() { function SeriesDimensionDefine2(opt) { this.otherDims = {}; if (opt != null) { extend(this, opt); } } return SeriesDimensionDefine2; }() ); var SeriesDimensionDefine_default = SeriesDimensionDefine; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/dataValueHelper.js function parseDataValue(value, opt) { var dimType = opt && opt.type; if (dimType === "ordinal") { return value; } if (dimType === "time" && !isNumber(value) && value != null && value !== "-") { value = +parseDate(value); } return value == null || value === "" ? NaN : Number(value); } var valueParserMap = createHashMap({ "number": function(val) { return parseFloat(val); }, "time": function(val) { return +parseDate(val); }, "trim": function(val) { return isString(val) ? trim(val) : val; } }); function getRawValueParser(type) { return valueParserMap.get(type); } var ORDER_COMPARISON_OP_MAP = { lt: function(lval, rval) { return lval < rval; }, lte: function(lval, rval) { return lval <= rval; }, gt: function(lval, rval) { return lval > rval; }, gte: function(lval, rval) { return lval >= rval; } }; var FilterOrderComparator = ( /** @class */ function() { function FilterOrderComparator2(op, rval) { if (!isNumber(rval)) { var errMsg = ""; if (true) { errMsg = 'rvalue of "<", ">", "<=", ">=" can only be number in filter.'; } throwError(errMsg); } this._opFn = ORDER_COMPARISON_OP_MAP[op]; this._rvalFloat = numericToNumber(rval); } FilterOrderComparator2.prototype.evaluate = function(lval) { return isNumber(lval) ? this._opFn(lval, this._rvalFloat) : this._opFn(numericToNumber(lval), this._rvalFloat); }; return FilterOrderComparator2; }() ); var SortOrderComparator = ( /** @class */ function() { function SortOrderComparator2(order, incomparable) { var isDesc = order === "desc"; this._resultLT = isDesc ? 1 : -1; if (incomparable == null) { incomparable = isDesc ? "min" : "max"; } this._incomparable = incomparable === "min" ? -Infinity : Infinity; } SortOrderComparator2.prototype.evaluate = function(lval, rval) { var lvalFloat = isNumber(lval) ? lval : numericToNumber(lval); var rvalFloat = isNumber(rval) ? rval : numericToNumber(rval); var lvalNotNumeric = isNaN(lvalFloat); var rvalNotNumeric = isNaN(rvalFloat); if (lvalNotNumeric) { lvalFloat = this._incomparable; } if (rvalNotNumeric) { rvalFloat = this._incomparable; } if (lvalNotNumeric && rvalNotNumeric) { var lvalIsStr = isString(lval); var rvalIsStr = isString(rval); if (lvalIsStr) { lvalFloat = rvalIsStr ? lval : 0; } if (rvalIsStr) { rvalFloat = lvalIsStr ? rval : 0; } } return lvalFloat < rvalFloat ? this._resultLT : lvalFloat > rvalFloat ? -this._resultLT : 0; }; return SortOrderComparator2; }() ); var FilterEqualityComparator = ( /** @class */ function() { function FilterEqualityComparator2(isEq, rval) { this._rval = rval; this._isEQ = isEq; this._rvalTypeof = typeof rval; this._rvalFloat = numericToNumber(rval); } FilterEqualityComparator2.prototype.evaluate = function(lval) { var eqResult = lval === this._rval; if (!eqResult) { var lvalTypeof = typeof lval; if (lvalTypeof !== this._rvalTypeof && (lvalTypeof === "number" || this._rvalTypeof === "number")) { eqResult = numericToNumber(lval) === this._rvalFloat; } } return this._isEQ ? eqResult : !eqResult; }; return FilterEqualityComparator2; }() ); function createFilterComparator(op, rval) { return op === "eq" || op === "ne" ? new FilterEqualityComparator(op === "eq", rval) : hasOwn(ORDER_COMPARISON_OP_MAP, op) ? new FilterOrderComparator(op, rval) : null; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/DataStore.js var UNDEFINED = "undefined"; var CtorUint32Array = typeof Uint32Array === UNDEFINED ? Array : Uint32Array; var CtorUint16Array = typeof Uint16Array === UNDEFINED ? Array : Uint16Array; var CtorInt32Array = typeof Int32Array === UNDEFINED ? Array : Int32Array; var CtorFloat64Array = typeof Float64Array === UNDEFINED ? Array : Float64Array; var dataCtors = { "float": CtorFloat64Array, "int": CtorInt32Array, // Ordinal data type can be string or int "ordinal": Array, "number": Array, "time": CtorFloat64Array }; var defaultDimValueGetters; function getIndicesCtor(rawCount) { return rawCount > 65535 ? CtorUint32Array : CtorUint16Array; } function getInitialExtent() { return [Infinity, -Infinity]; } function cloneChunk(originalChunk) { var Ctor = originalChunk.constructor; return Ctor === Array ? originalChunk.slice() : new Ctor(originalChunk); } function prepareStore(store, dimIdx, dimType, end, append) { var DataCtor = dataCtors[dimType || "float"]; if (append) { var oldStore = store[dimIdx]; var oldLen = oldStore && oldStore.length; if (!(oldLen === end)) { var newStore = new DataCtor(end); for (var j = 0; j < oldLen; j++) { newStore[j] = oldStore[j]; } store[dimIdx] = newStore; } } else { store[dimIdx] = new DataCtor(end); } } var DataStore = ( /** @class */ function() { function DataStore2() { this._chunks = []; this._rawExtent = []; this._extent = []; this._count = 0; this._rawCount = 0; this._calcDimNameToIdx = createHashMap(); } DataStore2.prototype.initData = function(provider, inputDimensions, dimValueGetter) { if (true) { assert(isFunction(provider.getItem) && isFunction(provider.count), "Invalid data provider."); } this._provider = provider; this._chunks = []; this._indices = null; this.getRawIndex = this._getRawIdxIdentity; var source = provider.getSource(); var defaultGetter = this.defaultDimValueGetter = defaultDimValueGetters[source.sourceFormat]; this._dimValueGetter = dimValueGetter || defaultGetter; this._rawExtent = []; var willRetrieveDataByName = shouldRetrieveDataByName(source); this._dimensions = map(inputDimensions, function(dim) { if (true) { if (willRetrieveDataByName) { assert(dim.property != null); } } return { // Only pick these two props. Not leak other properties like orderMeta. type: dim.type, property: dim.property }; }); this._initDataFromProvider(0, provider.count()); }; DataStore2.prototype.getProvider = function() { return this._provider; }; DataStore2.prototype.getSource = function() { return this._provider.getSource(); }; DataStore2.prototype.ensureCalculationDimension = function(dimName, type) { var calcDimNameToIdx = this._calcDimNameToIdx; var dimensions = this._dimensions; var calcDimIdx = calcDimNameToIdx.get(dimName); if (calcDimIdx != null) { if (dimensions[calcDimIdx].type === type) { return calcDimIdx; } } else { calcDimIdx = dimensions.length; } dimensions[calcDimIdx] = { type }; calcDimNameToIdx.set(dimName, calcDimIdx); this._chunks[calcDimIdx] = new dataCtors[type || "float"](this._rawCount); this._rawExtent[calcDimIdx] = getInitialExtent(); return calcDimIdx; }; DataStore2.prototype.collectOrdinalMeta = function(dimIdx, ordinalMeta) { var chunk = this._chunks[dimIdx]; var dim = this._dimensions[dimIdx]; var rawExtents = this._rawExtent; var offset = dim.ordinalOffset || 0; var len = chunk.length; if (offset === 0) { rawExtents[dimIdx] = getInitialExtent(); } var dimRawExtent = rawExtents[dimIdx]; for (var i = offset; i < len; i++) { var val = chunk[i] = ordinalMeta.parseAndCollect(chunk[i]); if (!isNaN(val)) { dimRawExtent[0] = Math.min(val, dimRawExtent[0]); dimRawExtent[1] = Math.max(val, dimRawExtent[1]); } } dim.ordinalMeta = ordinalMeta; dim.ordinalOffset = len; dim.type = "ordinal"; }; DataStore2.prototype.getOrdinalMeta = function(dimIdx) { var dimInfo = this._dimensions[dimIdx]; var ordinalMeta = dimInfo.ordinalMeta; return ordinalMeta; }; DataStore2.prototype.getDimensionProperty = function(dimIndex) { var item = this._dimensions[dimIndex]; return item && item.property; }; DataStore2.prototype.appendData = function(data) { if (true) { assert(!this._indices, "appendData can only be called on raw data."); } var provider = this._provider; var start = this.count(); provider.appendData(data); var end = provider.count(); if (!provider.persistent) { end += start; } if (start < end) { this._initDataFromProvider(start, end, true); } return [start, end]; }; DataStore2.prototype.appendValues = function(values, minFillLen) { var chunks = this._chunks; var dimensions = this._dimensions; var dimLen = dimensions.length; var rawExtent = this._rawExtent; var start = this.count(); var end = start + Math.max(values.length, minFillLen || 0); for (var i = 0; i < dimLen; i++) { var dim = dimensions[i]; prepareStore(chunks, i, dim.type, end, true); } var emptyDataItem = []; for (var idx = start; idx < end; idx++) { var sourceIdx = idx - start; for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) { var dim = dimensions[dimIdx]; var val = defaultDimValueGetters.arrayRows.call(this, values[sourceIdx] || emptyDataItem, dim.property, sourceIdx, dimIdx); chunks[dimIdx][idx] = val; var dimRawExtent = rawExtent[dimIdx]; val < dimRawExtent[0] && (dimRawExtent[0] = val); val > dimRawExtent[1] && (dimRawExtent[1] = val); } } this._rawCount = this._count = end; return { start, end }; }; DataStore2.prototype._initDataFromProvider = function(start, end, append) { var provider = this._provider; var chunks = this._chunks; var dimensions = this._dimensions; var dimLen = dimensions.length; var rawExtent = this._rawExtent; var dimNames = map(dimensions, function(dim2) { return dim2.property; }); for (var i = 0; i < dimLen; i++) { var dim = dimensions[i]; if (!rawExtent[i]) { rawExtent[i] = getInitialExtent(); } prepareStore(chunks, i, dim.type, end, append); } if (provider.fillStorage) { provider.fillStorage(start, end, chunks, rawExtent); } else { var dataItem = []; for (var idx = start; idx < end; idx++) { dataItem = provider.getItem(idx, dataItem); for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) { var dimStorage = chunks[dimIdx]; var val = this._dimValueGetter(dataItem, dimNames[dimIdx], idx, dimIdx); dimStorage[idx] = val; var dimRawExtent = rawExtent[dimIdx]; val < dimRawExtent[0] && (dimRawExtent[0] = val); val > dimRawExtent[1] && (dimRawExtent[1] = val); } } } if (!provider.persistent && provider.clean) { provider.clean(); } this._rawCount = this._count = end; this._extent = []; }; DataStore2.prototype.count = function() { return this._count; }; DataStore2.prototype.get = function(dim, idx) { if (!(idx >= 0 && idx < this._count)) { return NaN; } var dimStore = this._chunks[dim]; return dimStore ? dimStore[this.getRawIndex(idx)] : NaN; }; DataStore2.prototype.getValues = function(dimensions, idx) { var values = []; var dimArr = []; if (idx == null) { idx = dimensions; dimensions = []; for (var i = 0; i < this._dimensions.length; i++) { dimArr.push(i); } } else { dimArr = dimensions; } for (var i = 0, len = dimArr.length; i < len; i++) { values.push(this.get(dimArr[i], idx)); } return values; }; DataStore2.prototype.getByRawIndex = function(dim, rawIdx) { if (!(rawIdx >= 0 && rawIdx < this._rawCount)) { return NaN; } var dimStore = this._chunks[dim]; return dimStore ? dimStore[rawIdx] : NaN; }; DataStore2.prototype.getSum = function(dim) { var dimData = this._chunks[dim]; var sum = 0; if (dimData) { for (var i = 0, len = this.count(); i < len; i++) { var value = this.get(dim, i); if (!isNaN(value)) { sum += value; } } } return sum; }; DataStore2.prototype.getMedian = function(dim) { var dimDataArray = []; this.each([dim], function(val) { if (!isNaN(val)) { dimDataArray.push(val); } }); var sortedDimDataArray = dimDataArray.sort(function(a, b) { return a - b; }); var len = this.count(); return len === 0 ? 0 : len % 2 === 1 ? sortedDimDataArray[(len - 1) / 2] : (sortedDimDataArray[len / 2] + sortedDimDataArray[len / 2 - 1]) / 2; }; DataStore2.prototype.indexOfRawIndex = function(rawIndex) { if (rawIndex >= this._rawCount || rawIndex < 0) { return -1; } if (!this._indices) { return rawIndex; } var indices = this._indices; var rawDataIndex = indices[rawIndex]; if (rawDataIndex != null && rawDataIndex < this._count && rawDataIndex === rawIndex) { return rawIndex; } var left = 0; var right = this._count - 1; while (left <= right) { var mid = (left + right) / 2 | 0; if (indices[mid] < rawIndex) { left = mid + 1; } else if (indices[mid] > rawIndex) { right = mid - 1; } else { return mid; } } return -1; }; DataStore2.prototype.getIndices = function() { var newIndices; var indices = this._indices; if (indices) { var Ctor = indices.constructor; var thisCount = this._count; if (Ctor === Array) { newIndices = new Ctor(thisCount); for (var i = 0; i < thisCount; i++) { newIndices[i] = indices[i]; } } else { newIndices = new Ctor(indices.buffer, 0, thisCount); } } else { var Ctor = getIndicesCtor(this._rawCount); newIndices = new Ctor(this.count()); for (var i = 0; i < newIndices.length; i++) { newIndices[i] = i; } } return newIndices; }; DataStore2.prototype.filter = function(dims, cb) { if (!this._count) { return this; } var newStore = this.clone(); var count = newStore.count(); var Ctor = getIndicesCtor(newStore._rawCount); var newIndices = new Ctor(count); var value = []; var dimSize = dims.length; var offset = 0; var dim0 = dims[0]; var chunks = newStore._chunks; for (var i = 0; i < count; i++) { var keep = void 0; var rawIdx = newStore.getRawIndex(i); if (dimSize === 0) { keep = cb(i); } else if (dimSize === 1) { var val = chunks[dim0][rawIdx]; keep = cb(val, i); } else { var k = 0; for (; k < dimSize; k++) { value[k] = chunks[dims[k]][rawIdx]; } value[k] = i; keep = cb.apply(null, value); } if (keep) { newIndices[offset++] = rawIdx; } } if (offset < count) { newStore._indices = newIndices; } newStore._count = offset; newStore._extent = []; newStore._updateGetRawIdx(); return newStore; }; DataStore2.prototype.selectRange = function(range) { var newStore = this.clone(); var len = newStore._count; if (!len) { return this; } var dims = keys(range); var dimSize = dims.length; if (!dimSize) { return this; } var originalCount = newStore.count(); var Ctor = getIndicesCtor(newStore._rawCount); var newIndices = new Ctor(originalCount); var offset = 0; var dim0 = dims[0]; var min2 = range[dim0][0]; var max2 = range[dim0][1]; var storeArr = newStore._chunks; var quickFinished = false; if (!newStore._indices) { var idx = 0; if (dimSize === 1) { var dimStorage = storeArr[dims[0]]; for (var i = 0; i < len; i++) { var val = dimStorage[i]; if (val >= min2 && val <= max2 || isNaN(val)) { newIndices[offset++] = idx; } idx++; } quickFinished = true; } else if (dimSize === 2) { var dimStorage = storeArr[dims[0]]; var dimStorage2 = storeArr[dims[1]]; var min22 = range[dims[1]][0]; var max22 = range[dims[1]][1]; for (var i = 0; i < len; i++) { var val = dimStorage[i]; var val2 = dimStorage2[i]; if ((val >= min2 && val <= max2 || isNaN(val)) && (val2 >= min22 && val2 <= max22 || isNaN(val2))) { newIndices[offset++] = idx; } idx++; } quickFinished = true; } } if (!quickFinished) { if (dimSize === 1) { for (var i = 0; i < originalCount; i++) { var rawIndex = newStore.getRawIndex(i); var val = storeArr[dims[0]][rawIndex]; if (val >= min2 && val <= max2 || isNaN(val)) { newIndices[offset++] = rawIndex; } } } else { for (var i = 0; i < originalCount; i++) { var keep = true; var rawIndex = newStore.getRawIndex(i); for (var k = 0; k < dimSize; k++) { var dimk = dims[k]; var val = storeArr[dimk][rawIndex]; if (val < range[dimk][0] || val > range[dimk][1]) { keep = false; } } if (keep) { newIndices[offset++] = newStore.getRawIndex(i); } } } } if (offset < originalCount) { newStore._indices = newIndices; } newStore._count = offset; newStore._extent = []; newStore._updateGetRawIdx(); return newStore; }; DataStore2.prototype.map = function(dims, cb) { var target = this.clone(dims); this._updateDims(target, dims, cb); return target; }; DataStore2.prototype.modify = function(dims, cb) { this._updateDims(this, dims, cb); }; DataStore2.prototype._updateDims = function(target, dims, cb) { var targetChunks = target._chunks; var tmpRetValue = []; var dimSize = dims.length; var dataCount = target.count(); var values = []; var rawExtent = target._rawExtent; for (var i = 0; i < dims.length; i++) { rawExtent[dims[i]] = getInitialExtent(); } for (var dataIndex = 0; dataIndex < dataCount; dataIndex++) { var rawIndex = target.getRawIndex(dataIndex); for (var k = 0; k < dimSize; k++) { values[k] = targetChunks[dims[k]][rawIndex]; } values[dimSize] = dataIndex; var retValue = cb && cb.apply(null, values); if (retValue != null) { if (typeof retValue !== "object") { tmpRetValue[0] = retValue; retValue = tmpRetValue; } for (var i = 0; i < retValue.length; i++) { var dim = dims[i]; var val = retValue[i]; var rawExtentOnDim = rawExtent[dim]; var dimStore = targetChunks[dim]; if (dimStore) { dimStore[rawIndex] = val; } if (val < rawExtentOnDim[0]) { rawExtentOnDim[0] = val; } if (val > rawExtentOnDim[1]) { rawExtentOnDim[1] = val; } } } } }; DataStore2.prototype.lttbDownSample = function(valueDimension, rate) { var target = this.clone([valueDimension], true); var targetStorage = target._chunks; var dimStore = targetStorage[valueDimension]; var len = this.count(); var sampledIndex = 0; var frameSize = Math.floor(1 / rate); var currentRawIndex = this.getRawIndex(0); var maxArea; var area; var nextRawIndex; var newIndices = new (getIndicesCtor(this._rawCount))(Math.min((Math.ceil(len / frameSize) + 2) * 2, len)); newIndices[sampledIndex++] = currentRawIndex; for (var i = 1; i < len - 1; i += frameSize) { var nextFrameStart = Math.min(i + frameSize, len - 1); var nextFrameEnd = Math.min(i + frameSize * 2, len); var avgX = (nextFrameEnd + nextFrameStart) / 2; var avgY = 0; for (var idx = nextFrameStart; idx < nextFrameEnd; idx++) { var rawIndex = this.getRawIndex(idx); var y = dimStore[rawIndex]; if (isNaN(y)) { continue; } avgY += y; } avgY /= nextFrameEnd - nextFrameStart; var frameStart = i; var frameEnd = Math.min(i + frameSize, len); var pointAX = i - 1; var pointAY = dimStore[currentRawIndex]; maxArea = -1; nextRawIndex = frameStart; var firstNaNIndex = -1; var countNaN = 0; for (var idx = frameStart; idx < frameEnd; idx++) { var rawIndex = this.getRawIndex(idx); var y = dimStore[rawIndex]; if (isNaN(y)) { countNaN++; if (firstNaNIndex < 0) { firstNaNIndex = rawIndex; } continue; } area = Math.abs((pointAX - avgX) * (y - pointAY) - (pointAX - idx) * (avgY - pointAY)); if (area > maxArea) { maxArea = area; nextRawIndex = rawIndex; } } if (countNaN > 0 && countNaN < frameEnd - frameStart) { newIndices[sampledIndex++] = Math.min(firstNaNIndex, nextRawIndex); nextRawIndex = Math.max(firstNaNIndex, nextRawIndex); } newIndices[sampledIndex++] = nextRawIndex; currentRawIndex = nextRawIndex; } newIndices[sampledIndex++] = this.getRawIndex(len - 1); target._count = sampledIndex; target._indices = newIndices; target.getRawIndex = this._getRawIdx; return target; }; DataStore2.prototype.minmaxDownSample = function(valueDimension, rate) { var target = this.clone([valueDimension], true); var targetStorage = target._chunks; var frameSize = Math.floor(1 / rate); var dimStore = targetStorage[valueDimension]; var len = this.count(); var newIndices = new (getIndicesCtor(this._rawCount))(Math.ceil(len / frameSize) * 2); var offset = 0; for (var i = 0; i < len; i += frameSize) { var minIndex = i; var minValue = dimStore[this.getRawIndex(minIndex)]; var maxIndex = i; var maxValue = dimStore[this.getRawIndex(maxIndex)]; var thisFrameSize = frameSize; if (i + frameSize > len) { thisFrameSize = len - i; } for (var k = 0; k < thisFrameSize; k++) { var rawIndex = this.getRawIndex(i + k); var value = dimStore[rawIndex]; if (value < minValue) { minValue = value; minIndex = i + k; } if (value > maxValue) { maxValue = value; maxIndex = i + k; } } var rawMinIndex = this.getRawIndex(minIndex); var rawMaxIndex = this.getRawIndex(maxIndex); if (minIndex < maxIndex) { newIndices[offset++] = rawMinIndex; newIndices[offset++] = rawMaxIndex; } else { newIndices[offset++] = rawMaxIndex; newIndices[offset++] = rawMinIndex; } } target._count = offset; target._indices = newIndices; target._updateGetRawIdx(); return target; }; DataStore2.prototype.downSample = function(dimension, rate, sampleValue, sampleIndex) { var target = this.clone([dimension], true); var targetStorage = target._chunks; var frameValues = []; var frameSize = Math.floor(1 / rate); var dimStore = targetStorage[dimension]; var len = this.count(); var rawExtentOnDim = target._rawExtent[dimension] = getInitialExtent(); var newIndices = new (getIndicesCtor(this._rawCount))(Math.ceil(len / frameSize)); var offset = 0; for (var i = 0; i < len; i += frameSize) { if (frameSize > len - i) { frameSize = len - i; frameValues.length = frameSize; } for (var k = 0; k < frameSize; k++) { var dataIdx = this.getRawIndex(i + k); frameValues[k] = dimStore[dataIdx]; } var value = sampleValue(frameValues); var sampleFrameIdx = this.getRawIndex(Math.min(i + sampleIndex(frameValues, value) || 0, len - 1)); dimStore[sampleFrameIdx] = value; if (value < rawExtentOnDim[0]) { rawExtentOnDim[0] = value; } if (value > rawExtentOnDim[1]) { rawExtentOnDim[1] = value; } newIndices[offset++] = sampleFrameIdx; } target._count = offset; target._indices = newIndices; target._updateGetRawIdx(); return target; }; DataStore2.prototype.each = function(dims, cb) { if (!this._count) { return; } var dimSize = dims.length; var chunks = this._chunks; for (var i = 0, len = this.count(); i < len; i++) { var rawIdx = this.getRawIndex(i); switch (dimSize) { case 0: cb(i); break; case 1: cb(chunks[dims[0]][rawIdx], i); break; case 2: cb(chunks[dims[0]][rawIdx], chunks[dims[1]][rawIdx], i); break; default: var k = 0; var value = []; for (; k < dimSize; k++) { value[k] = chunks[dims[k]][rawIdx]; } value[k] = i; cb.apply(null, value); } } }; DataStore2.prototype.getDataExtent = function(dim) { var dimData = this._chunks[dim]; var initialExtent = getInitialExtent(); if (!dimData) { return initialExtent; } var currEnd = this.count(); var useRaw = !this._indices; var dimExtent; if (useRaw) { return this._rawExtent[dim].slice(); } dimExtent = this._extent[dim]; if (dimExtent) { return dimExtent.slice(); } dimExtent = initialExtent; var min2 = dimExtent[0]; var max2 = dimExtent[1]; for (var i = 0; i < currEnd; i++) { var rawIdx = this.getRawIndex(i); var value = dimData[rawIdx]; value < min2 && (min2 = value); value > max2 && (max2 = value); } dimExtent = [min2, max2]; this._extent[dim] = dimExtent; return dimExtent; }; DataStore2.prototype.getRawDataItem = function(idx) { var rawIdx = this.getRawIndex(idx); if (!this._provider.persistent) { var val = []; var chunks = this._chunks; for (var i = 0; i < chunks.length; i++) { val.push(chunks[i][rawIdx]); } return val; } else { return this._provider.getItem(rawIdx); } }; DataStore2.prototype.clone = function(clonedDims, ignoreIndices) { var target = new DataStore2(); var chunks = this._chunks; var clonedDimsMap = clonedDims && reduce(clonedDims, function(obj, dimIdx) { obj[dimIdx] = true; return obj; }, {}); if (clonedDimsMap) { for (var i = 0; i < chunks.length; i++) { target._chunks[i] = !clonedDimsMap[i] ? chunks[i] : cloneChunk(chunks[i]); } } else { target._chunks = chunks; } this._copyCommonProps(target); if (!ignoreIndices) { target._indices = this._cloneIndices(); } target._updateGetRawIdx(); return target; }; DataStore2.prototype._copyCommonProps = function(target) { target._count = this._count; target._rawCount = this._rawCount; target._provider = this._provider; target._dimensions = this._dimensions; target._extent = clone(this._extent); target._rawExtent = clone(this._rawExtent); }; DataStore2.prototype._cloneIndices = function() { if (this._indices) { var Ctor = this._indices.constructor; var indices = void 0; if (Ctor === Array) { var thisCount = this._indices.length; indices = new Ctor(thisCount); for (var i = 0; i < thisCount; i++) { indices[i] = this._indices[i]; } } else { indices = new Ctor(this._indices); } return indices; } return null; }; DataStore2.prototype._getRawIdxIdentity = function(idx) { return idx; }; DataStore2.prototype._getRawIdx = function(idx) { if (idx < this._count && idx >= 0) { return this._indices[idx]; } return -1; }; DataStore2.prototype._updateGetRawIdx = function() { this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity; }; DataStore2.internalField = function() { function getDimValueSimply(dataItem, property, dataIndex, dimIndex) { return parseDataValue(dataItem[dimIndex], this._dimensions[dimIndex]); } defaultDimValueGetters = { arrayRows: getDimValueSimply, objectRows: function(dataItem, property, dataIndex, dimIndex) { return parseDataValue(dataItem[property], this._dimensions[dimIndex]); }, keyedColumns: getDimValueSimply, original: function(dataItem, property, dataIndex, dimIndex) { var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value); return parseDataValue(value instanceof Array ? value[dimIndex] : value, this._dimensions[dimIndex]); }, typedArray: function(dataItem, property, dataIndex, dimIndex) { return dataItem[dimIndex]; } }; }(); return DataStore2; }() ); var DataStore_default = DataStore; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/SeriesDataSchema.js var inner = makeInner(); var dimTypeShort = { float: "f", int: "i", ordinal: "o", number: "n", time: "t" }; var SeriesDataSchema = ( /** @class */ function() { function SeriesDataSchema2(opt) { this.dimensions = opt.dimensions; this._dimOmitted = opt.dimensionOmitted; this.source = opt.source; this._fullDimCount = opt.fullDimensionCount; this._updateDimOmitted(opt.dimensionOmitted); } SeriesDataSchema2.prototype.isDimensionOmitted = function() { return this._dimOmitted; }; SeriesDataSchema2.prototype._updateDimOmitted = function(dimensionOmitted) { this._dimOmitted = dimensionOmitted; if (!dimensionOmitted) { return; } if (!this._dimNameMap) { this._dimNameMap = ensureSourceDimNameMap(this.source); } }; SeriesDataSchema2.prototype.getSourceDimensionIndex = function(dimName) { return retrieve2(this._dimNameMap.get(dimName), -1); }; SeriesDataSchema2.prototype.getSourceDimension = function(dimIndex) { var dimensionsDefine = this.source.dimensionsDefine; if (dimensionsDefine) { return dimensionsDefine[dimIndex]; } }; SeriesDataSchema2.prototype.makeStoreSchema = function() { var dimCount = this._fullDimCount; var willRetrieveDataByName = shouldRetrieveDataByName(this.source); var makeHashStrict = !shouldOmitUnusedDimensions(dimCount); var dimHash = ""; var dims = []; for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < dimCount; fullDimIdx++) { var property = void 0; var type = void 0; var ordinalMeta = void 0; var seriesDimDef = this.dimensions[seriesDimIdx]; if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) { property = willRetrieveDataByName ? seriesDimDef.name : null; type = seriesDimDef.type; ordinalMeta = seriesDimDef.ordinalMeta; seriesDimIdx++; } else { var sourceDimDef = this.getSourceDimension(fullDimIdx); if (sourceDimDef) { property = willRetrieveDataByName ? sourceDimDef.name : null; type = sourceDimDef.type; } } dims.push({ property, type, ordinalMeta }); if (willRetrieveDataByName && property != null && (!seriesDimDef || !seriesDimDef.isCalculationCoord)) { dimHash += makeHashStrict ? property.replace(/\`/g, "`1").replace(/\$/g, "`2") : property; } dimHash += "$"; dimHash += dimTypeShort[type] || "f"; if (ordinalMeta) { dimHash += ordinalMeta.uid; } dimHash += "$"; } var source = this.source; var hash = [source.seriesLayoutBy, source.startIndex, dimHash].join("$$"); return { dimensions: dims, hash }; }; SeriesDataSchema2.prototype.makeOutputDimensionNames = function() { var result = []; for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < this._fullDimCount; fullDimIdx++) { var name_1 = void 0; var seriesDimDef = this.dimensions[seriesDimIdx]; if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) { if (!seriesDimDef.isCalculationCoord) { name_1 = seriesDimDef.name; } seriesDimIdx++; } else { var sourceDimDef = this.getSourceDimension(fullDimIdx); if (sourceDimDef) { name_1 = sourceDimDef.name; } } result.push(name_1); } return result; }; SeriesDataSchema2.prototype.appendCalculationDimension = function(dimDef) { this.dimensions.push(dimDef); dimDef.isCalculationCoord = true; this._fullDimCount++; this._updateDimOmitted(true); }; return SeriesDataSchema2; }() ); function isSeriesDataSchema(schema) { return schema instanceof SeriesDataSchema; } function createDimNameMap(dimsDef) { var dataDimNameMap = createHashMap(); for (var i = 0; i < (dimsDef || []).length; i++) { var dimDefItemRaw = dimsDef[i]; var userDimName = isObject(dimDefItemRaw) ? dimDefItemRaw.name : dimDefItemRaw; if (userDimName != null && dataDimNameMap.get(userDimName) == null) { dataDimNameMap.set(userDimName, i); } } return dataDimNameMap; } function ensureSourceDimNameMap(source) { var innerSource = inner(source); return innerSource.dimNameMap || (innerSource.dimNameMap = createDimNameMap(source.dimensionsDefine)); } function shouldOmitUnusedDimensions(dimCount) { return dimCount > 30; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/SeriesData.js var isObject2 = isObject; var map2 = map; var CtorInt32Array2 = typeof Int32Array === "undefined" ? Array : Int32Array; var ID_PREFIX = "e\0\0"; var INDEX_NOT_FOUND = -1; var TRANSFERABLE_PROPERTIES = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_dimSummary", "userOutput", "_rawData", "_dimValueGetter", "_nameDimIdx", "_idDimIdx", "_nameRepeatCount"]; var CLONE_PROPERTIES = ["_approximateExtent"]; var prepareInvertedIndex; var getId; var getIdNameFromStore; var normalizeDimensions; var transferProperties; var cloneListForMapAndSample; var makeIdFromName; var SeriesData = ( /** @class */ function() { function SeriesData2(dimensionsInput, hostModel) { this.type = "list"; this._dimOmitted = false; this._nameList = []; this._idList = []; this._visual = {}; this._layout = {}; this._itemVisuals = []; this._itemLayouts = []; this._graphicEls = []; this._approximateExtent = {}; this._calculationInfo = {}; this.hasItemOption = false; this.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "minmaxDownSample", "lttbDownSample", "map"]; this.CHANGABLE_METHODS = ["filterSelf", "selectRange"]; this.DOWNSAMPLE_METHODS = ["downSample", "minmaxDownSample", "lttbDownSample"]; var dimensions; var assignStoreDimIdx = false; if (isSeriesDataSchema(dimensionsInput)) { dimensions = dimensionsInput.dimensions; this._dimOmitted = dimensionsInput.isDimensionOmitted(); this._schema = dimensionsInput; } else { assignStoreDimIdx = true; dimensions = dimensionsInput; } dimensions = dimensions || ["x", "y"]; var dimensionInfos = {}; var dimensionNames = []; var invertedIndicesMap = {}; var needsHasOwn = false; var emptyObj = {}; for (var i = 0; i < dimensions.length; i++) { var dimInfoInput = dimensions[i]; var dimensionInfo = isString(dimInfoInput) ? new SeriesDimensionDefine_default({ name: dimInfoInput }) : !(dimInfoInput instanceof SeriesDimensionDefine_default) ? new SeriesDimensionDefine_default(dimInfoInput) : dimInfoInput; var dimensionName = dimensionInfo.name; dimensionInfo.type = dimensionInfo.type || "float"; if (!dimensionInfo.coordDim) { dimensionInfo.coordDim = dimensionName; dimensionInfo.coordDimIndex = 0; } var otherDims = dimensionInfo.otherDims = dimensionInfo.otherDims || {}; dimensionNames.push(dimensionName); dimensionInfos[dimensionName] = dimensionInfo; if (emptyObj[dimensionName] != null) { needsHasOwn = true; } if (dimensionInfo.createInvertedIndices) { invertedIndicesMap[dimensionName] = []; } var dimIdx = i; if (isNumber(dimensionInfo.storeDimIndex)) { dimIdx = dimensionInfo.storeDimIndex; } if (otherDims.itemName === 0) { this._nameDimIdx = dimIdx; } if (otherDims.itemId === 0) { this._idDimIdx = dimIdx; } if (true) { assert(assignStoreDimIdx || dimensionInfo.storeDimIndex >= 0); } if (assignStoreDimIdx) { dimensionInfo.storeDimIndex = i; } } this.dimensions = dimensionNames; this._dimInfos = dimensionInfos; this._initGetDimensionInfo(needsHasOwn); this.hostModel = hostModel; this._invertedIndicesMap = invertedIndicesMap; if (this._dimOmitted) { var dimIdxToName_1 = this._dimIdxToName = createHashMap(); each(dimensionNames, function(dimName) { dimIdxToName_1.set(dimensionInfos[dimName].storeDimIndex, dimName); }); } } SeriesData2.prototype.getDimension = function(dim) { var dimIdx = this._recognizeDimIndex(dim); if (dimIdx == null) { return dim; } dimIdx = dim; if (!this._dimOmitted) { return this.dimensions[dimIdx]; } var dimName = this._dimIdxToName.get(dimIdx); if (dimName != null) { return dimName; } var sourceDimDef = this._schema.getSourceDimension(dimIdx); if (sourceDimDef) { return sourceDimDef.name; } }; SeriesData2.prototype.getDimensionIndex = function(dim) { var dimIdx = this._recognizeDimIndex(dim); if (dimIdx != null) { return dimIdx; } if (dim == null) { return -1; } var dimInfo = this._getDimInfo(dim); return dimInfo ? dimInfo.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(dim) : -1; }; SeriesData2.prototype._recognizeDimIndex = function(dim) { if (isNumber(dim) || dim != null && !isNaN(dim) && !this._getDimInfo(dim) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(dim) < 0)) { return +dim; } }; SeriesData2.prototype._getStoreDimIndex = function(dim) { var dimIdx = this.getDimensionIndex(dim); if (true) { if (dimIdx == null) { throw new Error("Unknown dimension " + dim); } } return dimIdx; }; SeriesData2.prototype.getDimensionInfo = function(dim) { return this._getDimInfo(this.getDimension(dim)); }; SeriesData2.prototype._initGetDimensionInfo = function(needsHasOwn) { var dimensionInfos = this._dimInfos; this._getDimInfo = needsHasOwn ? function(dimName) { return dimensionInfos.hasOwnProperty(dimName) ? dimensionInfos[dimName] : void 0; } : function(dimName) { return dimensionInfos[dimName]; }; }; SeriesData2.prototype.getDimensionsOnCoord = function() { return this._dimSummary.dataDimsOnCoord.slice(); }; SeriesData2.prototype.mapDimension = function(coordDim, idx) { var dimensionsSummary = this._dimSummary; if (idx == null) { return dimensionsSummary.encodeFirstDimNotExtra[coordDim]; } var dims = dimensionsSummary.encode[coordDim]; return dims ? dims[idx] : null; }; SeriesData2.prototype.mapDimensionsAll = function(coordDim) { var dimensionsSummary = this._dimSummary; var dims = dimensionsSummary.encode[coordDim]; return (dims || []).slice(); }; SeriesData2.prototype.getStore = function() { return this._store; }; SeriesData2.prototype.initData = function(data, nameList, dimValueGetter) { var _this = this; var store; if (data instanceof DataStore_default) { store = data; } if (!store) { var dimensions = this.dimensions; var provider = isSourceInstance(data) || isArrayLike(data) ? new DefaultDataProvider(data, dimensions.length) : data; store = new DataStore_default(); var dimensionInfos = map2(dimensions, function(dimName) { return { type: _this._dimInfos[dimName].type, property: dimName }; }); store.initData(provider, dimensionInfos, dimValueGetter); } this._store = store; this._nameList = (nameList || []).slice(); this._idList = []; this._nameRepeatCount = {}; this._doInit(0, store.count()); this._dimSummary = summarizeDimensions(this, this._schema); this.userOutput = this._dimSummary.userOutput; }; SeriesData2.prototype.appendData = function(data) { var range = this._store.appendData(data); this._doInit(range[0], range[1]); }; SeriesData2.prototype.appendValues = function(values, names) { var _a2 = this._store.appendValues(values, names && names.length), start = _a2.start, end = _a2.end; var shouldMakeIdFromName = this._shouldMakeIdFromName(); this._updateOrdinalMeta(); if (names) { for (var idx = start; idx < end; idx++) { var sourceIdx = idx - start; this._nameList[idx] = names[sourceIdx]; if (shouldMakeIdFromName) { makeIdFromName(this, idx); } } } }; SeriesData2.prototype._updateOrdinalMeta = function() { var store = this._store; var dimensions = this.dimensions; for (var i = 0; i < dimensions.length; i++) { var dimInfo = this._dimInfos[dimensions[i]]; if (dimInfo.ordinalMeta) { store.collectOrdinalMeta(dimInfo.storeDimIndex, dimInfo.ordinalMeta); } } }; SeriesData2.prototype._shouldMakeIdFromName = function() { var provider = this._store.getProvider(); return this._idDimIdx == null && provider.getSource().sourceFormat !== SOURCE_FORMAT_TYPED_ARRAY && !provider.fillStorage; }; SeriesData2.prototype._doInit = function(start, end) { if (start >= end) { return; } var store = this._store; var provider = store.getProvider(); this._updateOrdinalMeta(); var nameList = this._nameList; var idList = this._idList; var sourceFormat = provider.getSource().sourceFormat; var isFormatOriginal = sourceFormat === SOURCE_FORMAT_ORIGINAL; if (isFormatOriginal && !provider.pure) { var sharedDataItem = []; for (var idx = start; idx < end; idx++) { var dataItem = provider.getItem(idx, sharedDataItem); if (!this.hasItemOption && isDataItemOption(dataItem)) { this.hasItemOption = true; } if (dataItem) { var itemName = dataItem.name; if (nameList[idx] == null && itemName != null) { nameList[idx] = convertOptionIdName(itemName, null); } var itemId = dataItem.id; if (idList[idx] == null && itemId != null) { idList[idx] = convertOptionIdName(itemId, null); } } } } if (this._shouldMakeIdFromName()) { for (var idx = start; idx < end; idx++) { makeIdFromName(this, idx); } } prepareInvertedIndex(this); }; SeriesData2.prototype.getApproximateExtent = function(dim) { return this._approximateExtent[dim] || this._store.getDataExtent(this._getStoreDimIndex(dim)); }; SeriesData2.prototype.setApproximateExtent = function(extent, dim) { dim = this.getDimension(dim); this._approximateExtent[dim] = extent.slice(); }; SeriesData2.prototype.getCalculationInfo = function(key) { return this._calculationInfo[key]; }; SeriesData2.prototype.setCalculationInfo = function(key, value) { isObject2(key) ? extend(this._calculationInfo, key) : this._calculationInfo[key] = value; }; SeriesData2.prototype.getName = function(idx) { var rawIndex = this.getRawIndex(idx); var name = this._nameList[rawIndex]; if (name == null && this._nameDimIdx != null) { name = getIdNameFromStore(this, this._nameDimIdx, rawIndex); } if (name == null) { name = ""; } return name; }; SeriesData2.prototype._getCategory = function(dimIdx, idx) { var ordinal = this._store.get(dimIdx, idx); var ordinalMeta = this._store.getOrdinalMeta(dimIdx); if (ordinalMeta) { return ordinalMeta.categories[ordinal]; } return ordinal; }; SeriesData2.prototype.getId = function(idx) { return getId(this, this.getRawIndex(idx)); }; SeriesData2.prototype.count = function() { return this._store.count(); }; SeriesData2.prototype.get = function(dim, idx) { var store = this._store; var dimInfo = this._dimInfos[dim]; if (dimInfo) { return store.get(dimInfo.storeDimIndex, idx); } }; SeriesData2.prototype.getByRawIndex = function(dim, rawIdx) { var store = this._store; var dimInfo = this._dimInfos[dim]; if (dimInfo) { return store.getByRawIndex(dimInfo.storeDimIndex, rawIdx); } }; SeriesData2.prototype.getIndices = function() { return this._store.getIndices(); }; SeriesData2.prototype.getDataExtent = function(dim) { return this._store.getDataExtent(this._getStoreDimIndex(dim)); }; SeriesData2.prototype.getSum = function(dim) { return this._store.getSum(this._getStoreDimIndex(dim)); }; SeriesData2.prototype.getMedian = function(dim) { return this._store.getMedian(this._getStoreDimIndex(dim)); }; SeriesData2.prototype.getValues = function(dimensions, idx) { var _this = this; var store = this._store; return isArray(dimensions) ? store.getValues(map2(dimensions, function(dim) { return _this._getStoreDimIndex(dim); }), idx) : store.getValues(dimensions); }; SeriesData2.prototype.hasValue = function(idx) { var dataDimIndicesOnCoord = this._dimSummary.dataDimIndicesOnCoord; for (var i = 0, len = dataDimIndicesOnCoord.length; i < len; i++) { if (isNaN(this._store.get(dataDimIndicesOnCoord[i], idx))) { return false; } } return true; }; SeriesData2.prototype.indexOfName = function(name) { for (var i = 0, len = this._store.count(); i < len; i++) { if (this.getName(i) === name) { return i; } } return -1; }; SeriesData2.prototype.getRawIndex = function(idx) { return this._store.getRawIndex(idx); }; SeriesData2.prototype.indexOfRawIndex = function(rawIndex) { return this._store.indexOfRawIndex(rawIndex); }; SeriesData2.prototype.rawIndexOf = function(dim, value) { var invertedIndices = dim && this._invertedIndicesMap[dim]; if (true) { if (!invertedIndices) { throw new Error("Do not supported yet"); } } var rawIndex = invertedIndices && invertedIndices[value]; if (rawIndex == null || isNaN(rawIndex)) { return INDEX_NOT_FOUND; } return rawIndex; }; SeriesData2.prototype.each = function(dims, cb, ctx) { "use strict"; if (isFunction(dims)) { ctx = cb; cb = dims; dims = []; } var fCtx = ctx || this; var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this); this._store.each(dimIndices, fCtx ? bind(cb, fCtx) : cb); }; SeriesData2.prototype.filterSelf = function(dims, cb, ctx) { "use strict"; if (isFunction(dims)) { ctx = cb; cb = dims; dims = []; } var fCtx = ctx || this; var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this); this._store = this._store.filter(dimIndices, fCtx ? bind(cb, fCtx) : cb); return this; }; SeriesData2.prototype.selectRange = function(range) { "use strict"; var _this = this; var innerRange = {}; var dims = keys(range); var dimIndices = []; each(dims, function(dim) { var dimIdx = _this._getStoreDimIndex(dim); innerRange[dimIdx] = range[dim]; dimIndices.push(dimIdx); }); this._store = this._store.selectRange(innerRange); return this; }; SeriesData2.prototype.mapArray = function(dims, cb, ctx) { "use strict"; if (isFunction(dims)) { ctx = cb; cb = dims; dims = []; } ctx = ctx || this; var result = []; this.each(dims, function() { result.push(cb && cb.apply(this, arguments)); }, ctx); return result; }; SeriesData2.prototype.map = function(dims, cb, ctx, ctxCompat) { "use strict"; var fCtx = ctx || ctxCompat || this; var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this); var list = cloneListForMapAndSample(this); list._store = this._store.map(dimIndices, fCtx ? bind(cb, fCtx) : cb); return list; }; SeriesData2.prototype.modify = function(dims, cb, ctx, ctxCompat) { var _this = this; var fCtx = ctx || ctxCompat || this; if (true) { each(normalizeDimensions(dims), function(dim) { var dimInfo = _this.getDimensionInfo(dim); if (!dimInfo.isCalculationCoord) { console.error("Danger: only stack dimension can be modified"); } }); } var dimIndices = map2(normalizeDimensions(dims), this._getStoreDimIndex, this); this._store.modify(dimIndices, fCtx ? bind(cb, fCtx) : cb); }; SeriesData2.prototype.downSample = function(dimension, rate, sampleValue, sampleIndex) { var list = cloneListForMapAndSample(this); list._store = this._store.downSample(this._getStoreDimIndex(dimension), rate, sampleValue, sampleIndex); return list; }; SeriesData2.prototype.minmaxDownSample = function(valueDimension, rate) { var list = cloneListForMapAndSample(this); list._store = this._store.minmaxDownSample(this._getStoreDimIndex(valueDimension), rate); return list; }; SeriesData2.prototype.lttbDownSample = function(valueDimension, rate) { var list = cloneListForMapAndSample(this); list._store = this._store.lttbDownSample(this._getStoreDimIndex(valueDimension), rate); return list; }; SeriesData2.prototype.getRawDataItem = function(idx) { return this._store.getRawDataItem(idx); }; SeriesData2.prototype.getItemModel = function(idx) { var hostModel = this.hostModel; var dataItem = this.getRawDataItem(idx); return new Model_default(dataItem, hostModel, hostModel && hostModel.ecModel); }; SeriesData2.prototype.diff = function(otherList) { var thisList = this; return new DataDiffer_default(otherList ? otherList.getStore().getIndices() : [], this.getStore().getIndices(), function(idx) { return getId(otherList, idx); }, function(idx) { return getId(thisList, idx); }); }; SeriesData2.prototype.getVisual = function(key) { var visual = this._visual; return visual && visual[key]; }; SeriesData2.prototype.setVisual = function(kvObj, val) { this._visual = this._visual || {}; if (isObject2(kvObj)) { extend(this._visual, kvObj); } else { this._visual[kvObj] = val; } }; SeriesData2.prototype.getItemVisual = function(idx, key) { var itemVisual = this._itemVisuals[idx]; var val = itemVisual && itemVisual[key]; if (val == null) { return this.getVisual(key); } return val; }; SeriesData2.prototype.hasItemVisual = function() { return this._itemVisuals.length > 0; }; SeriesData2.prototype.ensureUniqueItemVisual = function(idx, key) { var itemVisuals = this._itemVisuals; var itemVisual = itemVisuals[idx]; if (!itemVisual) { itemVisual = itemVisuals[idx] = {}; } var val = itemVisual[key]; if (val == null) { val = this.getVisual(key); if (isArray(val)) { val = val.slice(); } else if (isObject2(val)) { val = extend({}, val); } itemVisual[key] = val; } return val; }; SeriesData2.prototype.setItemVisual = function(idx, key, value) { var itemVisual = this._itemVisuals[idx] || {}; this._itemVisuals[idx] = itemVisual; if (isObject2(key)) { extend(itemVisual, key); } else { itemVisual[key] = value; } }; SeriesData2.prototype.clearAllVisual = function() { this._visual = {}; this._itemVisuals = []; }; SeriesData2.prototype.setLayout = function(key, val) { isObject2(key) ? extend(this._layout, key) : this._layout[key] = val; }; SeriesData2.prototype.getLayout = function(key) { return this._layout[key]; }; SeriesData2.prototype.getItemLayout = function(idx) { return this._itemLayouts[idx]; }; SeriesData2.prototype.setItemLayout = function(idx, layout2, merge2) { this._itemLayouts[idx] = merge2 ? extend(this._itemLayouts[idx] || {}, layout2) : layout2; }; SeriesData2.prototype.clearItemLayouts = function() { this._itemLayouts.length = 0; }; SeriesData2.prototype.setItemGraphicEl = function(idx, el) { var seriesIndex = this.hostModel && this.hostModel.seriesIndex; setCommonECData(seriesIndex, this.dataType, idx, el); this._graphicEls[idx] = el; }; SeriesData2.prototype.getItemGraphicEl = function(idx) { return this._graphicEls[idx]; }; SeriesData2.prototype.eachItemGraphicEl = function(cb, context) { each(this._graphicEls, function(el, idx) { if (el) { cb && cb.call(context, el, idx); } }); }; SeriesData2.prototype.cloneShallow = function(list) { if (!list) { list = new SeriesData2(this._schema ? this._schema : map2(this.dimensions, this._getDimInfo, this), this.hostModel); } transferProperties(list, this); list._store = this._store; return list; }; SeriesData2.prototype.wrapMethod = function(methodName, injectFunction) { var originalMethod = this[methodName]; if (!isFunction(originalMethod)) { return; } this.__wrappedMethods = this.__wrappedMethods || []; this.__wrappedMethods.push(methodName); this[methodName] = function() { var res = originalMethod.apply(this, arguments); return injectFunction.apply(this, [res].concat(slice(arguments))); }; }; SeriesData2.internalField = function() { prepareInvertedIndex = function(data) { var invertedIndicesMap = data._invertedIndicesMap; each(invertedIndicesMap, function(invertedIndices, dim) { var dimInfo = data._dimInfos[dim]; var ordinalMeta = dimInfo.ordinalMeta; var store = data._store; if (ordinalMeta) { invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array2(ordinalMeta.categories.length); for (var i = 0; i < invertedIndices.length; i++) { invertedIndices[i] = INDEX_NOT_FOUND; } for (var i = 0; i < store.count(); i++) { invertedIndices[store.get(dimInfo.storeDimIndex, i)] = i; } } }); }; getIdNameFromStore = function(data, dimIdx, idx) { return convertOptionIdName(data._getCategory(dimIdx, idx), null); }; getId = function(data, rawIndex) { var id = data._idList[rawIndex]; if (id == null && data._idDimIdx != null) { id = getIdNameFromStore(data, data._idDimIdx, rawIndex); } if (id == null) { id = ID_PREFIX + rawIndex; } return id; }; normalizeDimensions = function(dimensions) { if (!isArray(dimensions)) { dimensions = dimensions != null ? [dimensions] : []; } return dimensions; }; cloneListForMapAndSample = function(original) { var list = new SeriesData2(original._schema ? original._schema : map2(original.dimensions, original._getDimInfo, original), original.hostModel); transferProperties(list, original); return list; }; transferProperties = function(target, source) { each(TRANSFERABLE_PROPERTIES.concat(source.__wrappedMethods || []), function(propName) { if (source.hasOwnProperty(propName)) { target[propName] = source[propName]; } }); target.__wrappedMethods = source.__wrappedMethods; each(CLONE_PROPERTIES, function(propName) { target[propName] = clone(source[propName]); }); target._calculationInfo = extend({}, source._calculationInfo); }; makeIdFromName = function(data, idx) { var nameList = data._nameList; var idList = data._idList; var nameDimIdx = data._nameDimIdx; var idDimIdx = data._idDimIdx; var name = nameList[idx]; var id = idList[idx]; if (name == null && nameDimIdx != null) { nameList[idx] = name = getIdNameFromStore(data, nameDimIdx, idx); } if (id == null && idDimIdx != null) { idList[idx] = id = getIdNameFromStore(data, idDimIdx, idx); } if (id == null && name != null) { var nameRepeatCount = data._nameRepeatCount; var nmCnt = nameRepeatCount[name] = (nameRepeatCount[name] || 0) + 1; id = name; if (nmCnt > 1) { id += "__ec__" + nmCnt; } idList[idx] = id; } }; }(); return SeriesData2; }() ); var SeriesData_default = SeriesData; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/i18n/langEN.js var langEN_default = { time: { month: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayOfWeekAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, legend: { selector: { all: "All", inverse: "Inv" } }, toolbox: { brush: { title: { rect: "Box Select", polygon: "Lasso Select", lineX: "Horizontally Select", lineY: "Vertically Select", keep: "Keep Selections", clear: "Clear Selections" } }, dataView: { title: "Data View", lang: ["Data View", "Close", "Refresh"] }, dataZoom: { title: { zoom: "Zoom", back: "Zoom Reset" } }, magicType: { title: { line: "Switch to Line Chart", bar: "Switch to Bar Chart", stack: "Stack", tiled: "Tile" } }, restore: { title: "Restore" }, saveAsImage: { title: "Save as Image", lang: ["Right Click to Save Image"] } }, series: { typeNames: { pie: "Pie chart", bar: "Bar chart", line: "Line chart", scatter: "Scatter plot", effectScatter: "Ripple scatter plot", radar: "Radar chart", tree: "Tree", treemap: "Treemap", boxplot: "Boxplot", candlestick: "Candlestick", k: "K line chart", heatmap: "Heat map", map: "Map", parallel: "Parallel coordinate map", lines: "Line graph", graph: "Relationship graph", sankey: "Sankey diagram", funnel: "Funnel chart", gauge: "Gauge", pictorialBar: "Pictorial bar", themeRiver: "Theme River Map", sunburst: "Sunburst", custom: "Custom chart", chart: "Chart" } }, aria: { general: { withTitle: 'This is a chart about "{title}"', withoutTitle: "This is a chart" }, series: { single: { prefix: "", withName: " with type {seriesType} named {seriesName}.", withoutName: " with type {seriesType}." }, multiple: { prefix: ". It consists of {seriesCount} series count.", withName: " The {seriesId} series is a {seriesType} representing {seriesName}.", withoutName: " The {seriesId} series is a {seriesType}.", separator: { middle: "", end: "" } } }, data: { allData: "The data is as follows: ", partialData: "The first {displayCnt} items are: ", withName: "the data for {name} is {value}", withoutName: "{value}", separator: { middle: ", ", end: ". " } } } }; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/i18n/langZH.js var langZH_default = { time: { month: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], monthAbbr: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], dayOfWeekAbbr: ["日", "一", "二", "三", "四", "五", "六"] }, legend: { selector: { all: "全选", inverse: "反选" } }, toolbox: { brush: { title: { rect: "矩形选择", polygon: "圈选", lineX: "横向选择", lineY: "纵向选择", keep: "保持选择", clear: "清除选择" } }, dataView: { title: "数据视图", lang: ["数据视图", "关闭", "刷新"] }, dataZoom: { title: { zoom: "区域缩放", back: "区域缩放还原" } }, magicType: { title: { line: "切换为折线图", bar: "切换为柱状图", stack: "切换为堆叠", tiled: "切换为平铺" } }, restore: { title: "还原" }, saveAsImage: { title: "保存为图片", lang: ["右键另存为图片"] } }, series: { typeNames: { pie: "饼图", bar: "柱状图", line: "折线图", scatter: "散点图", effectScatter: "涟漪散点图", radar: "雷达图", tree: "树图", treemap: "矩形树图", boxplot: "箱型图", candlestick: "K线图", k: "K线图", heatmap: "热力图", map: "地图", parallel: "平行坐标图", lines: "线图", graph: "关系图", sankey: "桑基图", funnel: "漏斗图", gauge: "仪表盘图", pictorialBar: "象形柱图", themeRiver: "主题河流图", sunburst: "旭日图", custom: "自定义图表", chart: "图表" } }, aria: { general: { withTitle: "这是一个关于“{title}”的图表。", withoutTitle: "这是一个图表," }, series: { single: { prefix: "", withName: "图表类型是{seriesType},表示{seriesName}。", withoutName: "图表类型是{seriesType}。" }, multiple: { prefix: "它由{seriesCount}个图表系列组成。", withName: "第{seriesId}个系列是一个表示{seriesName}的{seriesType},", withoutName: "第{seriesId}个系列是一个{seriesType},", separator: { middle: ";", end: "。" } } }, data: { allData: "其数据是——", partialData: "其中,前{displayCnt}项是——", withName: "{name}的数据是{value}", withoutName: "{value}", separator: { middle: ",", end: "" } } } }; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/core/locale.js var LOCALE_ZH = "ZH"; var LOCALE_EN = "EN"; var DEFAULT_LOCALE = LOCALE_EN; var localeStorage = {}; var localeModels = {}; var SYSTEM_LANG = !env_default.domSupported ? DEFAULT_LOCALE : function() { var langStr = ( /* eslint-disable-next-line */ (document.documentElement.lang || navigator.language || navigator.browserLanguage || DEFAULT_LOCALE).toUpperCase() ); return langStr.indexOf(LOCALE_ZH) > -1 ? LOCALE_ZH : DEFAULT_LOCALE; }(); function registerLocale(locale, localeObj) { locale = locale.toUpperCase(); localeModels[locale] = new Model_default(localeObj); localeStorage[locale] = localeObj; } function createLocaleObject(locale) { if (isString(locale)) { var localeObj = localeStorage[locale.toUpperCase()] || {}; if (locale === LOCALE_ZH || locale === LOCALE_EN) { return clone(localeObj); } else { return merge(clone(localeObj), clone(localeStorage[DEFAULT_LOCALE]), false); } } else { return merge(clone(locale), clone(localeStorage[DEFAULT_LOCALE]), false); } } function getLocaleModel(lang) { return localeModels[lang]; } function getDefaultLocaleModel() { return localeModels[DEFAULT_LOCALE]; } registerLocale(LOCALE_EN, langEN_default); registerLocale(LOCALE_ZH, langZH_default); // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/component.js var base = Math.round(Math.random() * 10); function getUID(type) { return [type || "", base++].join("_"); } function enableSubTypeDefaulter(target) { var subTypeDefaulters = {}; target.registerSubTypeDefaulter = function(componentType, defaulter) { var componentTypeInfo = parseClassType(componentType); subTypeDefaulters[componentTypeInfo.main] = defaulter; }; target.determineSubType = function(componentType, option) { var type = option.type; if (!type) { var componentTypeMain = parseClassType(componentType).main; if (target.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) { type = subTypeDefaulters[componentTypeMain](option); } } return type; }; } function enableTopologicalTravel(entity, dependencyGetter) { entity.topologicalTravel = function(targetNameList, fullNameList, callback, context) { if (!targetNameList.length) { return; } var result = makeDepndencyGraph(fullNameList); var graph = result.graph; var noEntryList = result.noEntryList; var targetNameSet = {}; each(targetNameList, function(name) { targetNameSet[name] = true; }); while (noEntryList.length) { var currComponentType = noEntryList.pop(); var currVertex = graph[currComponentType]; var isInTargetNameSet = !!targetNameSet[currComponentType]; if (isInTargetNameSet) { callback.call(context, currComponentType, currVertex.originalDeps.slice()); delete targetNameSet[currComponentType]; } each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge); } each(targetNameSet, function() { var errMsg = ""; if (true) { errMsg = makePrintable("Circular dependency may exists: ", targetNameSet, targetNameList, fullNameList); } throw new Error(errMsg); }); function removeEdge(succComponentType) { graph[succComponentType].entryCount--; if (graph[succComponentType].entryCount === 0) { noEntryList.push(succComponentType); } } function removeEdgeAndAdd(succComponentType) { targetNameSet[succComponentType] = true; removeEdge(succComponentType); } }; function makeDepndencyGraph(fullNameList) { var graph = {}; var noEntryList = []; each(fullNameList, function(name) { var thisItem = createDependencyGraphItem(graph, name); var originalDeps = thisItem.originalDeps = dependencyGetter(name); var availableDeps = getAvailableDependencies(originalDeps, fullNameList); thisItem.entryCount = availableDeps.length; if (thisItem.entryCount === 0) { noEntryList.push(name); } each(availableDeps, function(dependentName) { if (indexOf(thisItem.predecessor, dependentName) < 0) { thisItem.predecessor.push(dependentName); } var thatItem = createDependencyGraphItem(graph, dependentName); if (indexOf(thatItem.successor, dependentName) < 0) { thatItem.successor.push(name); } }); }); return { graph, noEntryList }; } function createDependencyGraphItem(graph, name) { if (!graph[name]) { graph[name] = { predecessor: [], successor: [] }; } return graph[name]; } function getAvailableDependencies(originalDeps, fullNameList) { var availableDeps = []; each(originalDeps, function(dep) { indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep); }); return availableDeps; } } function inheritDefaultOption(superOption, subOption) { return merge(merge({}, superOption, true), subOption, true); } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/scale/break.js var _impl = null; function registerScaleBreakHelperImpl(impl) { if (!_impl) { _impl = impl; } } function getScaleBreakHelper() { return _impl; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/time.js var ONE_SECOND = 1e3; var ONE_MINUTE = ONE_SECOND * 60; var ONE_HOUR = ONE_MINUTE * 60; var ONE_DAY = ONE_HOUR * 24; var ONE_YEAR = ONE_DAY * 365; var primaryTimeUnitFormatterMatchers = { year: /({yyyy}|{yy})/, month: /({MMMM}|{MMM}|{MM}|{M})/, day: /({dd}|{d})/, hour: /({HH}|{H}|{hh}|{h})/, minute: /({mm}|{m})/, second: /({ss}|{s})/, millisecond: /({SSS}|{S})/ }; var defaultFormatterSeed = { year: "{yyyy}", month: "{MMM}", day: "{d}", hour: "{HH}:{mm}", minute: "{HH}:{mm}", second: "{HH}:{mm}:{ss}", millisecond: "{HH}:{mm}:{ss} {SSS}" }; var defaultFullFormatter = "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"; var fullDayFormatter = "{yyyy}-{MM}-{dd}"; var fullLeveledFormatter = { year: "{yyyy}", month: "{yyyy}-{MM}", day: fullDayFormatter, hour: fullDayFormatter + " " + defaultFormatterSeed.hour, minute: fullDayFormatter + " " + defaultFormatterSeed.minute, second: fullDayFormatter + " " + defaultFormatterSeed.second, millisecond: defaultFullFormatter }; var primaryTimeUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"]; var timeUnits = ["year", "half-year", "quarter", "month", "week", "half-week", "day", "half-day", "quarter-day", "hour", "minute", "second", "millisecond"]; function parseTimeAxisLabelFormatter(formatter) { return !isString(formatter) && !isFunction(formatter) ? parseTimeAxisLabelFormatterDictionary(formatter) : formatter; } function parseTimeAxisLabelFormatterDictionary(dictOption) { dictOption = dictOption || {}; var dict = {}; var canAddHighlight = true; each(primaryTimeUnits, function(lowestUnit) { canAddHighlight && (canAddHighlight = dictOption[lowestUnit] == null); }); each(primaryTimeUnits, function(lowestUnit, lowestUnitIdx) { var upperDictOption = dictOption[lowestUnit]; dict[lowestUnit] = {}; var lowerTpl = null; for (var upperUnitIdx = lowestUnitIdx; upperUnitIdx >= 0; upperUnitIdx--) { var upperUnit = primaryTimeUnits[upperUnitIdx]; var upperDictItemOption = isObject(upperDictOption) && !isArray(upperDictOption) ? upperDictOption[upperUnit] : upperDictOption; var tplArr = void 0; if (isArray(upperDictItemOption)) { tplArr = upperDictItemOption.slice(); lowerTpl = tplArr[0] || ""; } else if (isString(upperDictItemOption)) { lowerTpl = upperDictItemOption; tplArr = [lowerTpl]; } else { if (lowerTpl == null) { lowerTpl = defaultFormatterSeed[lowestUnit]; } else if (!primaryTimeUnitFormatterMatchers[upperUnit].test(lowerTpl)) { lowerTpl = dict[upperUnit][upperUnit][0] + " " + lowerTpl; } tplArr = [lowerTpl]; if (canAddHighlight) { tplArr[1] = "{primary|" + lowerTpl + "}"; } } dict[lowestUnit][upperUnit] = tplArr; } }); return dict; } function pad(str, len) { str += ""; return "0000".substr(0, len - str.length) + str; } function getPrimaryTimeUnit(timeUnit) { switch (timeUnit) { case "half-year": case "quarter": return "month"; case "week": case "half-week": return "day"; case "half-day": case "quarter-day": return "hour"; default: return timeUnit; } } function isPrimaryTimeUnit(timeUnit) { return timeUnit === getPrimaryTimeUnit(timeUnit); } function getDefaultFormatPrecisionOfInterval(timeUnit) { switch (timeUnit) { case "year": case "month": return "day"; case "millisecond": return "millisecond"; default: return "second"; } } function format(time, template, isUTC, lang) { var date = parseDate(time); var y = date[fullYearGetterName(isUTC)](); var M = date[monthGetterName(isUTC)]() + 1; var q = Math.floor((M - 1) / 3) + 1; var d = date[dateGetterName(isUTC)](); var e2 = date["get" + (isUTC ? "UTC" : "") + "Day"](); var H = date[hoursGetterName(isUTC)](); var h = (H - 1) % 12 + 1; var m2 = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); var a = H >= 12 ? "pm" : "am"; var A = a.toUpperCase(); var localeModel = lang instanceof Model_default ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel(); var timeModel = localeModel.getModel("time"); var month = timeModel.get("month"); var monthAbbr = timeModel.get("monthAbbr"); var dayOfWeek = timeModel.get("dayOfWeek"); var dayOfWeekAbbr = timeModel.get("dayOfWeekAbbr"); return (template || "").replace(/{a}/g, a + "").replace(/{A}/g, A + "").replace(/{yyyy}/g, y + "").replace(/{yy}/g, pad(y % 100 + "", 2)).replace(/{Q}/g, q + "").replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + "").replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + "").replace(/{eeee}/g, dayOfWeek[e2]).replace(/{ee}/g, dayOfWeekAbbr[e2]).replace(/{e}/g, e2 + "").replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + "").replace(/{hh}/g, pad(h + "", 2)).replace(/{h}/g, h + "").replace(/{mm}/g, pad(m2, 2)).replace(/{m}/g, m2 + "").replace(/{ss}/g, pad(s, 2)).replace(/{s}/g, s + "").replace(/{SSS}/g, pad(S, 3)).replace(/{S}/g, S + ""); } function leveledFormat(tick, idx, formatter, lang, isUTC) { var template = null; if (isString(formatter)) { template = formatter; } else if (isFunction(formatter)) { var extra = { time: tick.time, level: tick.time.level }; var scaleBreakHelper = getScaleBreakHelper(); if (scaleBreakHelper) { scaleBreakHelper.makeAxisLabelFormatterParamBreak(extra, tick["break"]); } template = formatter(tick.value, idx, extra); } else { var tickTime = tick.time; if (tickTime) { var leveledTplArr = formatter[tickTime.lowerTimeUnit][tickTime.upperTimeUnit]; template = leveledTplArr[Math.min(tickTime.level, leveledTplArr.length - 1)] || ""; } else { var unit = getUnitFromValue(tick.value, isUTC); template = formatter[unit][unit][0]; } } return format(new Date(tick.value), template, isUTC, lang); } function getUnitFromValue(value, isUTC) { var date = parseDate(value); var M = date[monthGetterName(isUTC)]() + 1; var d = date[dateGetterName(isUTC)](); var h = date[hoursGetterName(isUTC)](); var m2 = date[minutesGetterName(isUTC)](); var s = date[secondsGetterName(isUTC)](); var S = date[millisecondsGetterName(isUTC)](); var isSecond = S === 0; var isMinute = isSecond && s === 0; var isHour = isMinute && m2 === 0; var isDay = isHour && h === 0; var isMonth = isDay && d === 1; var isYear = isMonth && M === 1; if (isYear) { return "year"; } else if (isMonth) { return "month"; } else if (isDay) { return "day"; } else if (isHour) { return "hour"; } else if (isMinute) { return "minute"; } else if (isSecond) { return "second"; } else { return "millisecond"; } } function roundTime(date, timeUnit, isUTC) { switch (timeUnit) { case "year": date[monthSetterName(isUTC)](0); case "month": date[dateSetterName(isUTC)](1); case "day": date[hoursSetterName(isUTC)](0); case "hour": date[minutesSetterName(isUTC)](0); case "minute": date[secondsSetterName(isUTC)](0); case "second": date[millisecondsSetterName(isUTC)](0); } return date; } function fullYearGetterName(isUTC) { return isUTC ? "getUTCFullYear" : "getFullYear"; } function monthGetterName(isUTC) { return isUTC ? "getUTCMonth" : "getMonth"; } function dateGetterName(isUTC) { return isUTC ? "getUTCDate" : "getDate"; } function hoursGetterName(isUTC) { return isUTC ? "getUTCHours" : "getHours"; } function minutesGetterName(isUTC) { return isUTC ? "getUTCMinutes" : "getMinutes"; } function secondsGetterName(isUTC) { return isUTC ? "getUTCSeconds" : "getSeconds"; } function millisecondsGetterName(isUTC) { return isUTC ? "getUTCMilliseconds" : "getMilliseconds"; } function fullYearSetterName(isUTC) { return isUTC ? "setUTCFullYear" : "setFullYear"; } function monthSetterName(isUTC) { return isUTC ? "setUTCMonth" : "setMonth"; } function dateSetterName(isUTC) { return isUTC ? "setUTCDate" : "setDate"; } function hoursSetterName(isUTC) { return isUTC ? "setUTCHours" : "setHours"; } function minutesSetterName(isUTC) { return isUTC ? "setUTCMinutes" : "setMinutes"; } function secondsSetterName(isUTC) { return isUTC ? "setUTCSeconds" : "setSeconds"; } function millisecondsSetterName(isUTC) { return isUTC ? "setUTCMilliseconds" : "setMilliseconds"; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/legacy/getTextRect.js function getTextRect(text, font, align, verticalAlign, padding, rich, truncate, lineHeight) { var textEl = new Text_default({ style: { text, font, align, verticalAlign, padding, rich, overflow: truncate ? "truncate" : null, lineHeight } }); return textEl.getBoundingRect(); } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/format.js function addCommas(x) { if (!isNumeric(x)) { return isString(x) ? x : "-"; } var parts = (x + "").split("."); return parts[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (parts.length > 1 ? "." + parts[1] : ""); } function toCamelCase(str, upperCaseFirst) { str = (str || "").toLowerCase().replace(/-(.)/g, function(match, group1) { return group1.toUpperCase(); }); if (upperCaseFirst && str) { str = str.charAt(0).toUpperCase() + str.slice(1); } return str; } var normalizeCssArray2 = normalizeCssArray; function makeValueReadable(value, valueType, useUTC) { var USER_READABLE_DEFUALT_TIME_PATTERN = "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}"; function stringToUserReadable(str) { return str && trim(str) ? str : "-"; } function isNumberUserReadable(num) { return !!(num != null && !isNaN(num) && isFinite(num)); } var isTypeTime = valueType === "time"; var isValueDate = value instanceof Date; if (isTypeTime || isValueDate) { var date = isTypeTime ? parseDate(value) : value; if (!isNaN(+date)) { return format(date, USER_READABLE_DEFUALT_TIME_PATTERN, useUTC); } else if (isValueDate) { return "-"; } } if (valueType === "ordinal") { return isStringSafe(value) ? stringToUserReadable(value) : isNumber(value) ? isNumberUserReadable(value) ? value + "" : "-" : "-"; } var numericResult = numericToNumber(value); return isNumberUserReadable(numericResult) ? addCommas(numericResult) : isStringSafe(value) ? stringToUserReadable(value) : typeof value === "boolean" ? value + "" : "-"; } var TPL_VAR_ALIAS = ["a", "b", "c", "d", "e", "f", "g"]; var wrapVar = function(varName, seriesIdx) { return "{" + varName + (seriesIdx == null ? "" : seriesIdx) + "}"; }; function formatTpl(tpl, paramsList, encode) { if (!isArray(paramsList)) { paramsList = [paramsList]; } var seriesLen = paramsList.length; if (!seriesLen) { return ""; } var $vars = paramsList[0].$vars || []; for (var i = 0; i < $vars.length; i++) { var alias = TPL_VAR_ALIAS[i]; tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0)); } for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) { for (var k = 0; k < $vars.length; k++) { var val = paramsList[seriesIdx][$vars[k]]; tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? encodeHTML(val) : val); } } return tpl; } function formatTplSimple(tpl, param, encode) { each(param, function(value, key) { tpl = tpl.replace("{" + key + "}", encode ? encodeHTML(value) : value); }); return tpl; } function getTooltipMarker(inOpt, extraCssText) { var opt = isString(inOpt) ? { color: inOpt, extraCssText } : inOpt || {}; var color3 = opt.color; var type = opt.type; extraCssText = opt.extraCssText; var renderMode = opt.renderMode || "html"; if (!color3) { return ""; } if (renderMode === "html") { return type === "subItem" ? '' : ''; } else { var markerId = opt.markerId || "markerX"; return { renderMode, content: "{" + markerId + "|} ", style: type === "subItem" ? { width: 4, height: 4, borderRadius: 2, backgroundColor: color3 } : { width: 10, height: 10, borderRadius: 5, backgroundColor: color3 } }; } } function formatTime(tpl, value, isUTC) { if (true) { deprecateReplaceLog("echarts.format.formatTime", "echarts.time.format"); } if (tpl === "week" || tpl === "month" || tpl === "quarter" || tpl === "half-year" || tpl === "year") { tpl = "MM-dd\nyyyy"; } var date = parseDate(value); var getUTC = isUTC ? "getUTC" : "get"; var y = date[getUTC + "FullYear"](); var M = date[getUTC + "Month"]() + 1; var d = date[getUTC + "Date"](); var h = date[getUTC + "Hours"](); var m2 = date[getUTC + "Minutes"](); var s = date[getUTC + "Seconds"](); var S = date[getUTC + "Milliseconds"](); tpl = tpl.replace("MM", pad(M, 2)).replace("M", M).replace("yyyy", y).replace("yy", pad(y % 100 + "", 2)).replace("dd", pad(d, 2)).replace("d", d).replace("hh", pad(h, 2)).replace("h", h).replace("mm", pad(m2, 2)).replace("m", m2).replace("ss", pad(s, 2)).replace("s", s).replace("SSS", pad(S, 3)); return tpl; } function capitalFirst(str) { return str ? str.charAt(0).toUpperCase() + str.substr(1) : str; } function convertToColorString(color3, defaultColor) { defaultColor = defaultColor || "transparent"; return isString(color3) ? color3 : isObject(color3) ? color3.colorStops && (color3.colorStops[0] || {}).color || defaultColor : defaultColor; } function windowOpen(link, target) { if (target === "_blank" || target === "blank") { var blank = window.open(); blank.opener = null; blank.location.href = link; } else { window.open(link, target); } } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/core/CoordinateSystem.js var nonSeriesBoxCoordSysCreators = {}; var normalCoordSysCreators = {}; var CoordinateSystemManager = ( /** @class */ function() { function CoordinateSystemManager2() { this._normalMasterList = []; this._nonSeriesBoxMasterList = []; } CoordinateSystemManager2.prototype.create = function(ecModel, api) { this._nonSeriesBoxMasterList = dealCreate(nonSeriesBoxCoordSysCreators, true); this._normalMasterList = dealCreate(normalCoordSysCreators, false); function dealCreate(creatorMap, canBeNonSeriesBox) { var coordinateSystems = []; each(creatorMap, function(creator, type) { var list = creator.create(ecModel, api); coordinateSystems = coordinateSystems.concat(list || []); if (true) { if (canBeNonSeriesBox) { each(list, function(master) { return assert(!master.update); }); } } }); return coordinateSystems; } }; CoordinateSystemManager2.prototype.update = function(ecModel, api) { each(this._normalMasterList, function(coordSys) { coordSys.update && coordSys.update(ecModel, api); }); }; CoordinateSystemManager2.prototype.getCoordinateSystems = function() { return this._normalMasterList.concat(this._nonSeriesBoxMasterList); }; CoordinateSystemManager2.register = function(type, creator) { if (type === "matrix" || type === "calendar") { nonSeriesBoxCoordSysCreators[type] = creator; return; } normalCoordSysCreators[type] = creator; }; CoordinateSystemManager2.get = function(type) { return normalCoordSysCreators[type] || nonSeriesBoxCoordSysCreators[type]; }; return CoordinateSystemManager2; }() ); function canBeNonSeriesBoxCoordSys(coordSysType) { return !!nonSeriesBoxCoordSysCreators[coordSysType]; } var BoxCoordinateSystemCoordFrom = { // By default fetch coord from `model.get('coord')`. coord: 1, // Some model/series, such as pie, is allowed to also get coord from `model.get('center')`, // if cannot get from `model.get('coord')`. But historically pie use `center` option, but // geo use `layoutCenter` option to specify layout center; they are not able to be unified. // Therefor it is not recommended. coord2: 2 }; function registerLayOutOnCoordSysUsage(opt) { if (true) { assert(!coordSysUseMap.get(opt.fullType)); } coordSysUseMap.set(opt.fullType, { getCoord2: void 0 }).getCoord2 = opt.getCoord2; } var coordSysUseMap = createHashMap(); function getCoordForBoxCoordSys(model) { var coord = model.getShallow("coord", true); var from = BoxCoordinateSystemCoordFrom.coord; if (coord == null) { var store = coordSysUseMap.get(model.type); if (store && store.getCoord2) { from = BoxCoordinateSystemCoordFrom.coord2; coord = store.getCoord2(model); } } return { coord, from }; } var CoordinateSystemUsageKind = { none: 0, dataCoordSys: 1, boxCoordSys: 2 }; function decideCoordSysUsageKind(model, printError) { var coordSysType = model.getShallow("coordinateSystem"); var coordSysUsageOption = model.getShallow("coordinateSystemUsage", true); var isDeclaredExplicitly = coordSysUsageOption != null; var kind = CoordinateSystemUsageKind.none; if (coordSysType) { var isSeries2 = model.mainType === "series"; if (coordSysUsageOption == null) { coordSysUsageOption = isSeries2 ? "data" : "box"; } if (coordSysUsageOption === "data") { kind = CoordinateSystemUsageKind.dataCoordSys; if (!isSeries2) { if (true) { if (isDeclaredExplicitly && printError) { error('coordinateSystemUsage "data" is not supported in non-series components.'); } } kind = CoordinateSystemUsageKind.none; } } else if (coordSysUsageOption === "box") { kind = CoordinateSystemUsageKind.boxCoordSys; if (!isSeries2 && !canBeNonSeriesBoxCoordSys(coordSysType)) { if (true) { if (isDeclaredExplicitly && printError) { error('coordinateSystem "' + coordSysType + '" cannot be used' + (' as coordinateSystemUsage "box" for "' + model.type + '" yet.')); } } kind = CoordinateSystemUsageKind.none; } } } return { coordSysType, kind }; } function injectCoordSysByOption(opt) { var targetModel = opt.targetModel, coordSysType = opt.coordSysType, coordSysProvider = opt.coordSysProvider, isDefaultDataCoordSys = opt.isDefaultDataCoordSys, allowNotFound = opt.allowNotFound; if (true) { assert(!!coordSysType); } var _a2 = decideCoordSysUsageKind(targetModel, true), kind = _a2.kind, declaredType = _a2.coordSysType; if (isDefaultDataCoordSys && kind !== CoordinateSystemUsageKind.dataCoordSys) { kind = CoordinateSystemUsageKind.dataCoordSys; declaredType = coordSysType; } if (kind === CoordinateSystemUsageKind.none || declaredType !== coordSysType) { return false; } var coordSys = coordSysProvider(coordSysType, targetModel); if (!coordSys) { if (true) { if (!allowNotFound) { error(coordSysType + " cannot be found for" + (" " + targetModel.type + " (index: " + targetModel.componentIndex + ").")); } } return false; } if (kind === CoordinateSystemUsageKind.dataCoordSys) { if (true) { assert(targetModel.mainType === "series"); } targetModel.coordinateSystem = coordSys; } else { targetModel.boxCoordinateSystem = coordSys; } return true; } var simpleCoordSysInjectionProvider = function(coordSysType, injectTargetModel) { var coordSysModel = injectTargetModel.getReferringComponents(coordSysType, SINGLE_REFERRING).models[0]; return coordSysModel && coordSysModel.coordinateSystem; }; var CoordinateSystem_default = CoordinateSystemManager; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/util/layout.js var each2 = each; var LOCATION_PARAMS = ["left", "right", "top", "bottom", "width", "height"]; var HV_NAMES = [["width", "left", "right"], ["height", "top", "bottom"]]; function boxLayout(orient, group, gap, maxWidth, maxHeight) { var x = 0; var y = 0; if (maxWidth == null) { maxWidth = Infinity; } if (maxHeight == null) { maxHeight = Infinity; } var currentLineMaxSize = 0; group.eachChild(function(child, idx) { var rect = child.getBoundingRect(); var nextChild = group.childAt(idx + 1); var nextChildRect = nextChild && nextChild.getBoundingRect(); var nextX; var nextY; if (orient === "horizontal") { var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0); nextX = x + moveX; if (nextX > maxWidth || child.newline) { x = 0; nextX = moveX; y += currentLineMaxSize + gap; currentLineMaxSize = rect.height; } else { currentLineMaxSize = Math.max(currentLineMaxSize, rect.height); } } else { var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0); nextY = y + moveY; if (nextY > maxHeight || child.newline) { x += currentLineMaxSize + gap; y = 0; nextY = moveY; currentLineMaxSize = rect.width; } else { currentLineMaxSize = Math.max(currentLineMaxSize, rect.width); } } if (child.newline) { return; } child.x = x; child.y = y; child.markRedraw(); orient === "horizontal" ? x = nextX + gap : y = nextY + gap; }); } var box = boxLayout; var vbox = curry(boxLayout, "vertical"); var hbox = curry(boxLayout, "horizontal"); function getBoxLayoutParams(boxLayoutModel, ignoreParent) { return { left: boxLayoutModel.getShallow("left", ignoreParent), top: boxLayoutModel.getShallow("top", ignoreParent), right: boxLayoutModel.getShallow("right", ignoreParent), bottom: boxLayoutModel.getShallow("bottom", ignoreParent), width: boxLayoutModel.getShallow("width", ignoreParent), height: boxLayoutModel.getShallow("height", ignoreParent) }; } function getViewRectAndCenterForCircleLayout(seriesModel, api) { var layoutRef = createBoxLayoutReference(seriesModel, api, { enableLayoutOnlyByCenter: true }); var boxLayoutParams = seriesModel.getBoxLayoutParams(); var viewRect; var center; if (layoutRef.type === BoxLayoutReferenceType.point) { center = layoutRef.refPoint; viewRect = getLayoutRect(boxLayoutParams, { width: api.getWidth(), height: api.getHeight() }); } else { var centerOption = seriesModel.get("center"); var centerOptionArr = isArray(centerOption) ? centerOption : [centerOption, centerOption]; viewRect = getLayoutRect(boxLayoutParams, layoutRef.refContainer); center = layoutRef.boxCoordFrom === BoxCoordinateSystemCoordFrom.coord2 ? layoutRef.refPoint : [parsePercent2(centerOptionArr[0], viewRect.width) + viewRect.x, parsePercent2(centerOptionArr[1], viewRect.height) + viewRect.y]; } return { viewRect, center }; } function getCircleLayout(seriesModel, api) { var _a2 = getViewRectAndCenterForCircleLayout(seriesModel, api), viewRect = _a2.viewRect, center = _a2.center; var radius = seriesModel.get("radius"); if (!isArray(radius)) { radius = [0, radius]; } var width = parsePercent2(viewRect.width, api.getWidth()); var height = parsePercent2(viewRect.height, api.getHeight()); var size = Math.min(width, height); var r0 = parsePercent2(radius[0], size / 2); var r = parsePercent2(radius[1], size / 2); return { cx: center[0], cy: center[1], r0, r, viewRect }; } function getLayoutRect(positionInfo, containerRect, margin) { margin = normalizeCssArray2(margin || 0); var containerWidth = containerRect.width; var containerHeight = containerRect.height; var left = parsePercent2(positionInfo.left, containerWidth); var top = parsePercent2(positionInfo.top, containerHeight); var right = parsePercent2(positionInfo.right, containerWidth); var bottom = parsePercent2(positionInfo.bottom, containerHeight); var width = parsePercent2(positionInfo.width, containerWidth); var height = parsePercent2(positionInfo.height, containerHeight); var verticalMargin = margin[2] + margin[0]; var horizontalMargin = margin[1] + margin[3]; var aspect = positionInfo.aspect; if (isNaN(width)) { width = containerWidth - right - horizontalMargin - left; } if (isNaN(height)) { height = containerHeight - bottom - verticalMargin - top; } if (aspect != null) { if (isNaN(width) && isNaN(height)) { if (aspect > containerWidth / containerHeight) { width = containerWidth * 0.8; } else { height = containerHeight * 0.8; } } if (isNaN(width)) { width = aspect * height; } if (isNaN(height)) { height = width / aspect; } } if (isNaN(left)) { left = containerWidth - right - width - horizontalMargin; } if (isNaN(top)) { top = containerHeight - bottom - height - verticalMargin; } switch (positionInfo.left || positionInfo.right) { case "center": left = containerWidth / 2 - width / 2 - margin[3]; break; case "right": left = containerWidth - width - horizontalMargin; break; } switch (positionInfo.top || positionInfo.bottom) { case "middle": case "center": top = containerHeight / 2 - height / 2 - margin[0]; break; case "bottom": top = containerHeight - height - verticalMargin; break; } left = left || 0; top = top || 0; if (isNaN(width)) { width = containerWidth - horizontalMargin - left - (right || 0); } if (isNaN(height)) { height = containerHeight - verticalMargin - top - (bottom || 0); } var rect = new BoundingRect_default((containerRect.x || 0) + left + margin[3], (containerRect.y || 0) + top + margin[0], width, height); rect.margin = margin; return rect; } function applyPreserveAspect(component, layoutRect, aspect) { var preserveAspect = component.getShallow("preserveAspect", true); if (!preserveAspect) { return layoutRect; } var actualAspect = layoutRect.width / layoutRect.height; if (Math.abs(Math.atan(aspect) - Math.atan(actualAspect)) < 1e-9) { return layoutRect; } var preserveAspectAlign = component.getShallow("preserveAspectAlign", true); var preserveAspectVerticalAlign = component.getShallow("preserveAspectVerticalAlign", true); var layoutOptInner = { width: layoutRect.width, height: layoutRect.height }; var isCover = preserveAspect === "cover"; if (actualAspect > aspect && !isCover || actualAspect < aspect && isCover) { layoutOptInner.width = layoutRect.height * aspect; preserveAspectAlign === "left" ? layoutOptInner.left = 0 : preserveAspectAlign === "right" ? layoutOptInner.right = 0 : layoutOptInner.left = "center"; } else { layoutOptInner.height = layoutRect.width / aspect; preserveAspectVerticalAlign === "top" ? layoutOptInner.top = 0 : preserveAspectVerticalAlign === "bottom" ? layoutOptInner.bottom = 0 : layoutOptInner.top = "middle"; } return getLayoutRect(layoutOptInner, layoutRect); } var BoxLayoutReferenceType = { rect: 1, point: 2 }; function createBoxLayoutReference(model, api, opt) { var refContainer; var refPoint; var layoutRefType; var boxCoordSys = model.boxCoordinateSystem; var boxCoordFrom; if (boxCoordSys) { var _a2 = getCoordForBoxCoordSys(model), coord = _a2.coord, from = _a2.from; if (boxCoordSys.dataToLayout) { layoutRefType = BoxLayoutReferenceType.rect; boxCoordFrom = from; var result = boxCoordSys.dataToLayout(coord); refContainer = result.contentRect || result.rect; } else if (opt && opt.enableLayoutOnlyByCenter && boxCoordSys.dataToPoint) { layoutRefType = BoxLayoutReferenceType.point; boxCoordFrom = from; refPoint = boxCoordSys.dataToPoint(coord); } else { if (true) { error(model.type + "[" + model.componentIndex + "]" + (" layout based on " + boxCoordSys.type + " is not supported.")); } } } if (layoutRefType == null) { layoutRefType = BoxLayoutReferenceType.rect; } if (layoutRefType === BoxLayoutReferenceType.rect) { if (!refContainer) { refContainer = { x: 0, y: 0, width: api.getWidth(), height: api.getHeight() }; } refPoint = [refContainer.x + refContainer.width / 2, refContainer.y + refContainer.height / 2]; } return { type: layoutRefType, refContainer, refPoint, boxCoordFrom }; } function positionElement(el, positionInfo, containerRect, margin, opt, out2) { var h = !opt || !opt.hv || opt.hv[0]; var v = !opt || !opt.hv || opt.hv[1]; var boundingMode = opt && opt.boundingMode || "all"; out2 = out2 || el; out2.x = el.x; out2.y = el.y; if (!h && !v) { return false; } var rect; if (boundingMode === "raw") { rect = el.type === "group" ? new BoundingRect_default(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect(); } else { rect = el.getBoundingRect(); if (el.needLocalTransform()) { var transform = el.getLocalTransform(); rect = rect.clone(); rect.applyTransform(transform); } } var layoutRect = getLayoutRect(defaults({ width: rect.width, height: rect.height }, positionInfo), containerRect, margin); var dx = h ? layoutRect.x - rect.x : 0; var dy = v ? layoutRect.y - rect.y : 0; if (boundingMode === "raw") { out2.x = dx; out2.y = dy; } else { out2.x += dx; out2.y += dy; } if (out2 === el) { el.markRedraw(); } return true; } function sizeCalculable(option, hvIdx) { return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null; } function fetchLayoutMode(ins) { var layoutMode = ins.layoutMode || ins.constructor.layoutMode; return isObject(layoutMode) ? layoutMode : layoutMode ? { type: layoutMode } : null; } function mergeLayoutParam(targetOption, newOption, opt) { var ignoreSize = opt && opt.ignoreSize; !isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]); var hResult = merge2(HV_NAMES[0], 0); var vResult = merge2(HV_NAMES[1], 1); copy2(HV_NAMES[0], targetOption, hResult); copy2(HV_NAMES[1], targetOption, vResult); function merge2(names, hvIdx) { var newParams = {}; var newValueCount = 0; var merged = {}; var mergedValueCount = 0; var enoughParamNumber = 2; each2(names, function(name) { merged[name] = targetOption[name]; }); each2(names, function(name) { hasOwn(newOption, name) && (newParams[name] = merged[name] = newOption[name]); hasValue(newParams, name) && newValueCount++; hasValue(merged, name) && mergedValueCount++; }); if (ignoreSize[hvIdx]) { if (hasValue(newOption, names[1])) { merged[names[2]] = null; } else if (hasValue(newOption, names[2])) { merged[names[1]] = null; } return merged; } if (mergedValueCount === enoughParamNumber || !newValueCount) { return merged; } else if (newValueCount >= enoughParamNumber) { return newParams; } else { for (var i = 0; i < names.length; i++) { var name_1 = names[i]; if (!hasOwn(newParams, name_1) && hasOwn(targetOption, name_1)) { newParams[name_1] = targetOption[name_1]; break; } } return newParams; } } function hasValue(obj, name) { return obj[name] != null && obj[name] !== "auto"; } function copy2(names, target, source) { each2(names, function(name) { target[name] = source[name]; }); } } function getLayoutParams(source) { return copyLayoutParams({}, source); } function copyLayoutParams(target, source) { source && target && each2(LOCATION_PARAMS, function(name) { hasOwn(source, name) && (target[name] = source[name]); }); return target; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/Component.js var inner2 = makeInner(); var ComponentModel = ( /** @class */ function(_super) { __extends(ComponentModel2, _super); function ComponentModel2(option, parentModel, ecModel) { var _this = _super.call(this, option, parentModel, ecModel) || this; _this.uid = getUID("ec_cpt_model"); return _this; } ComponentModel2.prototype.init = function(option, parentModel, ecModel) { this.mergeDefaultAndTheme(option, ecModel); }; ComponentModel2.prototype.mergeDefaultAndTheme = function(option, ecModel) { var layoutMode = fetchLayoutMode(this); var inputPositionParams = layoutMode ? getLayoutParams(option) : {}; var themeModel = ecModel.getTheme(); merge(option, themeModel.get(this.mainType)); merge(option, this.getDefaultOption()); if (layoutMode) { mergeLayoutParam(option, inputPositionParams, layoutMode); } }; ComponentModel2.prototype.mergeOption = function(option, ecModel) { merge(this.option, option, true); var layoutMode = fetchLayoutMode(this); if (layoutMode) { mergeLayoutParam(this.option, option, layoutMode); } }; ComponentModel2.prototype.optionUpdated = function(newCptOption, isInit) { }; ComponentModel2.prototype.getDefaultOption = function() { var ctor = this.constructor; if (!isExtendedClass(ctor)) { return ctor.defaultOption; } var fields = inner2(this); if (!fields.defaultOption) { var optList = []; var clz = ctor; while (clz) { var opt = clz.prototype.defaultOption; opt && optList.push(opt); clz = clz.superClass; } var defaultOption = {}; for (var i = optList.length - 1; i >= 0; i--) { defaultOption = merge(defaultOption, optList[i], true); } fields.defaultOption = defaultOption; } return fields.defaultOption; }; ComponentModel2.prototype.getReferringComponents = function(mainType, opt) { var indexKey = mainType + "Index"; var idKey = mainType + "Id"; return queryReferringComponents(this.ecModel, mainType, { index: this.get(indexKey, true), id: this.get(idKey, true) }, opt); }; ComponentModel2.prototype.getBoxLayoutParams = function() { return getBoxLayoutParams(this, false); }; ComponentModel2.prototype.getZLevelKey = function() { return ""; }; ComponentModel2.prototype.setZLevel = function(zlevel) { this.option.zlevel = zlevel; }; ComponentModel2.protoInitialize = function() { var proto = ComponentModel2.prototype; proto.type = "component"; proto.id = ""; proto.name = ""; proto.mainType = ""; proto.subType = ""; proto.componentIndex = 0; }(); return ComponentModel2; }(Model_default) ); mountExtend(ComponentModel, Model_default); enableClassManagement(ComponentModel); enableSubTypeDefaulter(ComponentModel); enableTopologicalTravel(ComponentModel, getDependencies); function getDependencies(componentType) { var deps = []; each(ComponentModel.getClassesByMainType(componentType), function(clz) { deps = deps.concat(clz.dependencies || clz.prototype.dependencies || []); }); deps = map(deps, function(type) { return parseClassType(type).main; }); if (componentType !== "dataset" && indexOf(deps, "dataset") <= 0) { deps.unshift("dataset"); } return deps; } var Component_default = ComponentModel; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/palette.js var innerColor = makeInner(); var innerDecal = makeInner(); var PaletteMixin = ( /** @class */ function() { function PaletteMixin2() { } PaletteMixin2.prototype.getColorFromPalette = function(name, scope, requestNum) { var defaultPalette = normalizeToArray(this.get("color", true)); var layeredPalette = this.get("colorLayer", true); return getFromPalette(this, innerColor, defaultPalette, layeredPalette, name, scope, requestNum); }; PaletteMixin2.prototype.clearColorPalette = function() { clearPalette(this, innerColor); }; return PaletteMixin2; }() ); function getDecalFromPalette(ecModel, name, scope, requestNum) { var defaultDecals = normalizeToArray(ecModel.get(["aria", "decal", "decals"])); return getFromPalette(ecModel, innerDecal, defaultDecals, null, name, scope, requestNum); } function getNearestPalette(palettes, requestColorNum) { var paletteNum = palettes.length; for (var i = 0; i < paletteNum; i++) { if (palettes[i].length > requestColorNum) { return palettes[i]; } } return palettes[paletteNum - 1]; } function getFromPalette(that, inner6, defaultPalette, layeredPalette, name, scope, requestNum) { scope = scope || that; var scopeFields = inner6(scope); var paletteIdx = scopeFields.paletteIdx || 0; var paletteNameMap = scopeFields.paletteNameMap = scopeFields.paletteNameMap || {}; if (paletteNameMap.hasOwnProperty(name)) { return paletteNameMap[name]; } var palette = requestNum == null || !layeredPalette ? defaultPalette : getNearestPalette(layeredPalette, requestNum); palette = palette || defaultPalette; if (!palette || !palette.length) { return; } var pickedPaletteItem = palette[paletteIdx]; if (name) { paletteNameMap[name] = pickedPaletteItem; } scopeFields.paletteIdx = (paletteIdx + 1) % palette.length; return pickedPaletteItem; } function clearPalette(that, inner6) { inner6(that).paletteIdx = 0; inner6(that).paletteNameMap = {}; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/model/mixin/dataFormat.js var DIMENSION_LABEL_REG = /\{@(.+?)\}/g; var DataFormatMixin = ( /** @class */ function() { function DataFormatMixin2() { } DataFormatMixin2.prototype.getDataParams = function(dataIndex, dataType) { var data = this.getData(dataType); var rawValue = this.getRawValue(dataIndex, dataType); var rawDataIndex = data.getRawIndex(dataIndex); var name = data.getName(dataIndex); var itemOpt = data.getRawDataItem(dataIndex); var style = data.getItemVisual(dataIndex, "style"); var color3 = style && style[data.getItemVisual(dataIndex, "drawType") || "fill"]; var borderColor = style && style.stroke; var mainType = this.mainType; var isSeries2 = mainType === "series"; var userOutput = data.userOutput && data.userOutput.get(); return { componentType: mainType, componentSubType: this.subType, componentIndex: this.componentIndex, seriesType: isSeries2 ? this.subType : null, seriesIndex: this.seriesIndex, seriesId: isSeries2 ? this.id : null, seriesName: isSeries2 ? this.name : null, name, dataIndex: rawDataIndex, data: itemOpt, dataType, value: rawValue, color: color3, borderColor, dimensionNames: userOutput ? userOutput.fullDimensions : null, encode: userOutput ? userOutput.encode : null, // Param name list for mapping `a`, `b`, `c`, `d`, `e` $vars: ["seriesName", "name", "value"] }; }; DataFormatMixin2.prototype.getFormattedLabel = function(dataIndex, status, dataType, labelDimIndex, formatter, extendParams) { status = status || "normal"; var data = this.getData(dataType); var params = this.getDataParams(dataIndex, dataType); if (extendParams) { params.value = extendParams.interpolatedValue; } if (labelDimIndex != null && isArray(params.value)) { params.value = params.value[labelDimIndex]; } if (!formatter) { var itemModel = data.getItemModel(dataIndex); formatter = itemModel.get(status === "normal" ? ["label", "formatter"] : [status, "label", "formatter"]); } if (isFunction(formatter)) { params.status = status; params.dimensionIndex = labelDimIndex; return formatter(params); } else if (isString(formatter)) { var str = formatTpl(formatter, params); return str.replace(DIMENSION_LABEL_REG, function(origin, dimStr) { var len = dimStr.length; var dimLoose = dimStr; if (dimLoose.charAt(0) === "[" && dimLoose.charAt(len - 1) === "]") { dimLoose = +dimLoose.slice(1, len - 1); if (true) { if (isNaN(dimLoose)) { error("Invalide label formatter: @" + dimStr + ", only support @[0], @[1], @[2], ..."); } } } var val = retrieveRawValue(data, dataIndex, dimLoose); if (extendParams && isArray(extendParams.interpolatedValue)) { var dimIndex = data.getDimensionIndex(dimLoose); if (dimIndex >= 0) { val = extendParams.interpolatedValue[dimIndex]; } } return val != null ? val + "" : ""; }); } }; DataFormatMixin2.prototype.getRawValue = function(idx, dataType) { return retrieveRawValue(this.getData(dataType), idx); }; DataFormatMixin2.prototype.formatTooltip = function(dataIndex, multipleSeries, dataType) { return; }; return DataFormatMixin2; }() ); function normalizeTooltipFormatResult(result) { var markupText; var markupFragment; if (isObject(result)) { if (result.type) { markupFragment = result; } else { if (true) { console.warn("The return type of `formatTooltip` is not supported: " + makePrintable(result)); } } } else { markupText = result; } return { text: markupText, // markers: markers || markersExisting, frag: markupFragment }; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/core/task.js function createTask(define) { return new Task(define); } var Task = ( /** @class */ function() { function Task2(define) { define = define || {}; this._reset = define.reset; this._plan = define.plan; this._count = define.count; this._onDirty = define.onDirty; this._dirty = true; } Task2.prototype.perform = function(performArgs) { var upTask = this._upstream; var skip = performArgs && performArgs.skip; if (this._dirty && upTask) { var context = this.context; context.data = context.outputData = upTask.context.outputData; } if (this.__pipeline) { this.__pipeline.currentTask = this; } var planResult; if (this._plan && !skip) { planResult = this._plan(this.context); } var lastModBy = normalizeModBy(this._modBy); var lastModDataCount = this._modDataCount || 0; var modBy = normalizeModBy(performArgs && performArgs.modBy); var modDataCount = performArgs && performArgs.modDataCount || 0; if (lastModBy !== modBy || lastModDataCount !== modDataCount) { planResult = "reset"; } function normalizeModBy(val) { !(val >= 1) && (val = 1); return val; } var forceFirstProgress; if (this._dirty || planResult === "reset") { this._dirty = false; forceFirstProgress = this._doReset(skip); } this._modBy = modBy; this._modDataCount = modDataCount; var step = performArgs && performArgs.step; if (upTask) { if (true) { assert(upTask._outputDueEnd != null); } this._dueEnd = upTask._outputDueEnd; } else { if (true) { assert(!this._progress || this._count); } this._dueEnd = this._count ? this._count(this.context) : Infinity; } if (this._progress) { var start = this._dueIndex; var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd); if (!skip && (forceFirstProgress || start < end)) { var progress = this._progress; if (isArray(progress)) { for (var i = 0; i < progress.length; i++) { this._doProgress(progress[i], start, end, modBy, modDataCount); } } else { this._doProgress(progress, start, end, modBy, modDataCount); } } this._dueIndex = end; var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end; if (true) { assert(outputDueEnd >= this._outputDueEnd); } this._outputDueEnd = outputDueEnd; } else { this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd; } return this.unfinished(); }; Task2.prototype.dirty = function() { this._dirty = true; this._onDirty && this._onDirty(this.context); }; Task2.prototype._doProgress = function(progress, start, end, modBy, modDataCount) { iterator.reset(start, end, modBy, modDataCount); this._callingProgress = progress; this._callingProgress({ start, end, count: end - start, next: iterator.next }, this.context); }; Task2.prototype._doReset = function(skip) { this._dueIndex = this._outputDueEnd = this._dueEnd = 0; this._settedOutputEnd = null; var progress; var forceFirstProgress; if (!skip && this._reset) { progress = this._reset(this.context); if (progress && progress.progress) { forceFirstProgress = progress.forceFirstProgress; progress = progress.progress; } if (isArray(progress) && !progress.length) { progress = null; } } this._progress = progress; this._modBy = this._modDataCount = null; var downstream = this._downstream; downstream && downstream.dirty(); return forceFirstProgress; }; Task2.prototype.unfinished = function() { return this._progress && this._dueIndex < this._dueEnd; }; Task2.prototype.pipe = function(downTask) { if (true) { assert(downTask && !downTask._disposed && downTask !== this); } if (this._downstream !== downTask || this._dirty) { this._downstream = downTask; downTask._upstream = this; downTask.dirty(); } }; Task2.prototype.dispose = function() { if (this._disposed) { return; } this._upstream && (this._upstream._downstream = null); this._downstream && (this._downstream._upstream = null); this._dirty = false; this._disposed = true; }; Task2.prototype.getUpstream = function() { return this._upstream; }; Task2.prototype.getDownstream = function() { return this._downstream; }; Task2.prototype.setOutputEnd = function(end) { this._outputDueEnd = this._settedOutputEnd = end; }; return Task2; }() ); var iterator = /* @__PURE__ */ function() { var end; var current; var modBy; var modDataCount; var winCount; var it = { reset: function(s, e2, sStep, sCount) { current = s; end = e2; modBy = sStep; modDataCount = sCount; winCount = Math.ceil(modDataCount / modBy); it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext; } }; return it; function sequentialNext() { return current < end ? current++ : null; } function modNext() { var dataIndex = current % winCount * modBy + Math.ceil(current / winCount); var result = current >= end ? null : dataIndex < modDataCount ? dataIndex : current; current++; return result; } }(); // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/transform.js var ExternalSource = ( /** @class */ function() { function ExternalSource2() { } ExternalSource2.prototype.getRawData = function() { throw new Error("not supported"); }; ExternalSource2.prototype.getRawDataItem = function(dataIndex) { throw new Error("not supported"); }; ExternalSource2.prototype.cloneRawData = function() { return; }; ExternalSource2.prototype.getDimensionInfo = function(dim) { return; }; ExternalSource2.prototype.cloneAllDimensionInfo = function() { return; }; ExternalSource2.prototype.count = function() { return; }; ExternalSource2.prototype.retrieveValue = function(dataIndex, dimIndex) { return; }; ExternalSource2.prototype.retrieveValueFromItem = function(dataItem, dimIndex) { return; }; ExternalSource2.prototype.convertValue = function(rawVal, dimInfo) { return parseDataValue(rawVal, dimInfo); }; return ExternalSource2; }() ); function createExternalSource(internalSource, externalTransform) { var extSource = new ExternalSource(); var data = internalSource.data; var sourceFormat = extSource.sourceFormat = internalSource.sourceFormat; var sourceHeaderCount = internalSource.startIndex; var errMsg = ""; if (internalSource.seriesLayoutBy !== SERIES_LAYOUT_BY_COLUMN) { if (true) { errMsg = '`seriesLayoutBy` of upstream dataset can only be "column" in data transform.'; } throwError(errMsg); } var dimensions = []; var dimsByName = {}; var dimsDef = internalSource.dimensionsDefine; if (dimsDef) { each(dimsDef, function(dimDef, idx) { var name = dimDef.name; var dimDefExt = { index: idx, name, displayName: dimDef.displayName }; dimensions.push(dimDefExt); if (name != null) { var errMsg_1 = ""; if (hasOwn(dimsByName, name)) { if (true) { errMsg_1 = 'dimension name "' + name + '" duplicated.'; } throwError(errMsg_1); } dimsByName[name] = dimDefExt; } }); } else { for (var i = 0; i < internalSource.dimensionsDetectedCount || 0; i++) { dimensions.push({ index: i }); } } var rawItemGetter = getRawSourceItemGetter(sourceFormat, SERIES_LAYOUT_BY_COLUMN); if (externalTransform.__isBuiltIn) { extSource.getRawDataItem = function(dataIndex) { return rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex); }; extSource.getRawData = bind(getRawData, null, internalSource); } extSource.cloneRawData = bind(cloneRawData, null, internalSource); var rawCounter = getRawSourceDataCounter(sourceFormat, SERIES_LAYOUT_BY_COLUMN); extSource.count = bind(rawCounter, null, data, sourceHeaderCount, dimensions); var rawValueGetter = getRawSourceValueGetter(sourceFormat); extSource.retrieveValue = function(dataIndex, dimIndex) { var rawItem = rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex); return retrieveValueFromItem(rawItem, dimIndex); }; var retrieveValueFromItem = extSource.retrieveValueFromItem = function(dataItem, dimIndex) { if (dataItem == null) { return; } var dimDef = dimensions[dimIndex]; if (dimDef) { return rawValueGetter(dataItem, dimIndex, dimDef.name); } }; extSource.getDimensionInfo = bind(getDimensionInfo, null, dimensions, dimsByName); extSource.cloneAllDimensionInfo = bind(cloneAllDimensionInfo, null, dimensions); return extSource; } function getRawData(upstream) { var sourceFormat = upstream.sourceFormat; if (!isSupportedSourceFormat(sourceFormat)) { var errMsg = ""; if (true) { errMsg = "`getRawData` is not supported in source format " + sourceFormat; } throwError(errMsg); } return upstream.data; } function cloneRawData(upstream) { var sourceFormat = upstream.sourceFormat; var data = upstream.data; if (!isSupportedSourceFormat(sourceFormat)) { var errMsg = ""; if (true) { errMsg = "`cloneRawData` is not supported in source format " + sourceFormat; } throwError(errMsg); } if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) { var result = []; for (var i = 0, len = data.length; i < len; i++) { result.push(data[i].slice()); } return result; } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) { var result = []; for (var i = 0, len = data.length; i < len; i++) { result.push(extend({}, data[i])); } return result; } } function getDimensionInfo(dimensions, dimsByName, dim) { if (dim == null) { return; } if (isNumber(dim) || !isNaN(dim) && !hasOwn(dimsByName, dim)) { return dimensions[dim]; } else if (hasOwn(dimsByName, dim)) { return dimsByName[dim]; } } function cloneAllDimensionInfo(dimensions) { return clone(dimensions); } var externalTransformMap = createHashMap(); function registerExternalTransform(externalTransform) { externalTransform = clone(externalTransform); var type = externalTransform.type; var errMsg = ""; if (!type) { if (true) { errMsg = "Must have a `type` when `registerTransform`."; } throwError(errMsg); } var typeParsed = type.split(":"); if (typeParsed.length !== 2) { if (true) { errMsg = 'Name must include namespace like "ns:regression".'; } throwError(errMsg); } var isBuiltIn = false; if (typeParsed[0] === "echarts") { type = typeParsed[1]; isBuiltIn = true; } externalTransform.__isBuiltIn = isBuiltIn; externalTransformMap.set(type, externalTransform); } function applyDataTransform(rawTransOption, sourceList, infoForPrint) { var pipedTransOption = normalizeToArray(rawTransOption); var pipeLen = pipedTransOption.length; var errMsg = ""; if (!pipeLen) { if (true) { errMsg = "If `transform` declared, it should at least contain one transform."; } throwError(errMsg); } for (var i = 0, len = pipeLen; i < len; i++) { var transOption = pipedTransOption[i]; sourceList = applySingleDataTransform(transOption, sourceList, infoForPrint, pipeLen === 1 ? null : i); if (i !== len - 1) { sourceList.length = Math.max(sourceList.length, 1); } } return sourceList; } function applySingleDataTransform(transOption, upSourceList, infoForPrint, pipeIndex) { var errMsg = ""; if (!upSourceList.length) { if (true) { errMsg = "Must have at least one upstream dataset."; } throwError(errMsg); } if (!isObject(transOption)) { if (true) { errMsg = "transform declaration must be an object rather than " + typeof transOption + "."; } throwError(errMsg); } var transType = transOption.type; var externalTransform = externalTransformMap.get(transType); if (!externalTransform) { if (true) { errMsg = 'Can not find transform on type "' + transType + '".'; } throwError(errMsg); } var extUpSourceList = map(upSourceList, function(upSource) { return createExternalSource(upSource, externalTransform); }); var resultList = normalizeToArray(externalTransform.transform({ upstream: extUpSourceList[0], upstreamList: extUpSourceList, config: clone(transOption.config) })); if (true) { if (transOption.print) { var printStrArr = map(resultList, function(extSource) { var pipeIndexStr = pipeIndex != null ? " === pipe index: " + pipeIndex : ""; return ["=== dataset index: " + infoForPrint.datasetIndex + pipeIndexStr + " ===", "- transform result data:", makePrintable(extSource.data), "- transform result dimensions:", makePrintable(extSource.dimensions)].join("\n"); }).join("\n"); log(printStrArr); } } return map(resultList, function(result, resultIndex) { var errMsg2 = ""; if (!isObject(result)) { if (true) { errMsg2 = "A transform should not return some empty results."; } throwError(errMsg2); } if (!result.data) { if (true) { errMsg2 = "Transform result data should be not be null or undefined"; } throwError(errMsg2); } var sourceFormat = detectSourceFormat(result.data); if (!isSupportedSourceFormat(sourceFormat)) { if (true) { errMsg2 = "Transform result data should be array rows or object rows."; } throwError(errMsg2); } var resultMetaRawOption; var firstUpSource = upSourceList[0]; if (firstUpSource && resultIndex === 0 && !result.dimensions) { var startIndex = firstUpSource.startIndex; if (startIndex) { result.data = firstUpSource.data.slice(0, startIndex).concat(result.data); } resultMetaRawOption = { seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN, sourceHeader: startIndex, dimensions: firstUpSource.metaRawOption.dimensions }; } else { resultMetaRawOption = { seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN, sourceHeader: 0, dimensions: result.dimensions }; } return createSource(result.data, resultMetaRawOption, null); }); } function isSupportedSourceFormat(sourceFormat) { return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS || sourceFormat === SOURCE_FORMAT_OBJECT_ROWS; } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/data/helper/sourceManager.js var SourceManager = ( /** @class */ function() { function SourceManager2(sourceHost) { this._sourceList = []; this._storeList = []; this._upstreamSignList = []; this._versionSignBase = 0; this._dirty = true; this._sourceHost = sourceHost; } SourceManager2.prototype.dirty = function() { this._setLocalSource([], []); this._storeList = []; this._dirty = true; }; SourceManager2.prototype._setLocalSource = function(sourceList, upstreamSignList) { this._sourceList = sourceList; this._upstreamSignList = upstreamSignList; this._versionSignBase++; if (this._versionSignBase > 9e10) { this._versionSignBase = 0; } }; SourceManager2.prototype._getVersionSign = function() { return this._sourceHost.uid + "_" + this._versionSignBase; }; SourceManager2.prototype.prepareSource = function() { if (this._isDirty()) { this._createSource(); this._dirty = false; } }; SourceManager2.prototype._createSource = function() { this._setLocalSource([], []); var sourceHost = this._sourceHost; var upSourceMgrList = this._getUpstreamSourceManagers(); var hasUpstream = !!upSourceMgrList.length; var resultSourceList; var upstreamSignList; if (isSeries(sourceHost)) { var seriesModel = sourceHost; var data = void 0; var sourceFormat = void 0; var upSource = void 0; if (hasUpstream) { var upSourceMgr = upSourceMgrList[0]; upSourceMgr.prepareSource(); upSource = upSourceMgr.getSource(); data = upSource.data; sourceFormat = upSource.sourceFormat; upstreamSignList = [upSourceMgr._getVersionSign()]; } else { data = seriesModel.get("data", true); sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL; upstreamSignList = []; } var newMetaRawOption = this._getSourceMetaRawOption() || {}; var upMetaRawOption = upSource && upSource.metaRawOption || {}; var seriesLayoutBy = retrieve2(newMetaRawOption.seriesLayoutBy, upMetaRawOption.seriesLayoutBy) || null; var sourceHeader = retrieve2(newMetaRawOption.sourceHeader, upMetaRawOption.sourceHeader); var dimensions = retrieve2(newMetaRawOption.dimensions, upMetaRawOption.dimensions); var needsCreateSource = seriesLayoutBy !== upMetaRawOption.seriesLayoutBy || !!sourceHeader !== !!upMetaRawOption.sourceHeader || dimensions; resultSourceList = needsCreateSource ? [createSource(data, { seriesLayoutBy, sourceHeader, dimensions }, sourceFormat)] : []; } else { var datasetModel = sourceHost; if (hasUpstream) { var result = this._applyTransform(upSourceMgrList); resultSourceList = result.sourceList; upstreamSignList = result.upstreamSignList; } else { var sourceData = datasetModel.get("source", true); resultSourceList = [createSource(sourceData, this._getSourceMetaRawOption(), null)]; upstreamSignList = []; } } if (true) { assert(resultSourceList && upstreamSignList); } this._setLocalSource(resultSourceList, upstreamSignList); }; SourceManager2.prototype._applyTransform = function(upMgrList) { var datasetModel = this._sourceHost; var transformOption = datasetModel.get("transform", true); var fromTransformResult = datasetModel.get("fromTransformResult", true); if (true) { assert(fromTransformResult != null || transformOption != null); } if (fromTransformResult != null) { var errMsg = ""; if (upMgrList.length !== 1) { if (true) { errMsg = "When using `fromTransformResult`, there should be only one upstream dataset"; } doThrow(errMsg); } } var sourceList; var upSourceList = []; var upstreamSignList = []; each(upMgrList, function(upMgr) { upMgr.prepareSource(); var upSource = upMgr.getSource(fromTransformResult || 0); var errMsg2 = ""; if (fromTransformResult != null && !upSource) { if (true) { errMsg2 = "Can not retrieve result by `fromTransformResult`: " + fromTransformResult; } doThrow(errMsg2); } upSourceList.push(upSource); upstreamSignList.push(upMgr._getVersionSign()); }); if (transformOption) { sourceList = applyDataTransform(transformOption, upSourceList, { datasetIndex: datasetModel.componentIndex }); } else if (fromTransformResult != null) { sourceList = [cloneSourceShallow(upSourceList[0])]; } return { sourceList, upstreamSignList }; }; SourceManager2.prototype._isDirty = function() { if (this._dirty) { return true; } var upSourceMgrList = this._getUpstreamSourceManagers(); for (var i = 0; i < upSourceMgrList.length; i++) { var upSrcMgr = upSourceMgrList[i]; if ( // Consider the case that there is ancestor diry, call it recursively. // The performance is probably not an issue because usually the chain is not long. upSrcMgr._isDirty() || this._upstreamSignList[i] !== upSrcMgr._getVersionSign() ) { return true; } } }; SourceManager2.prototype.getSource = function(sourceIndex) { sourceIndex = sourceIndex || 0; var source = this._sourceList[sourceIndex]; if (!source) { var upSourceMgrList = this._getUpstreamSourceManagers(); return upSourceMgrList[0] && upSourceMgrList[0].getSource(sourceIndex); } return source; }; SourceManager2.prototype.getSharedDataStore = function(seriesDimRequest) { if (true) { assert(isSeries(this._sourceHost), "Can only call getDataStore on series source manager."); } var schema = seriesDimRequest.makeStoreSchema(); return this._innerGetDataStore(schema.dimensions, seriesDimRequest.source, schema.hash); }; SourceManager2.prototype._innerGetDataStore = function(storeDims, seriesSource, sourceReadKey) { var sourceIndex = 0; var storeList = this._storeList; var cachedStoreMap = storeList[sourceIndex]; if (!cachedStoreMap) { cachedStoreMap = storeList[sourceIndex] = {}; } var cachedStore = cachedStoreMap[sourceReadKey]; if (!cachedStore) { var upSourceMgr = this._getUpstreamSourceManagers()[0]; if (isSeries(this._sourceHost) && upSourceMgr) { cachedStore = upSourceMgr._innerGetDataStore(storeDims, seriesSource, sourceReadKey); } else { cachedStore = new DataStore_default(); cachedStore.initData(new DefaultDataProvider(seriesSource, storeDims.length), storeDims); } cachedStoreMap[sourceReadKey] = cachedStore; } return cachedStore; }; SourceManager2.prototype._getUpstreamSourceManagers = function() { var sourceHost = this._sourceHost; if (isSeries(sourceHost)) { var datasetModel = querySeriesUpstreamDatasetModel(sourceHost); return !datasetModel ? [] : [datasetModel.getSourceManager()]; } else { return map(queryDatasetUpstreamDatasetModels(sourceHost), function(datasetModel2) { return datasetModel2.getSourceManager(); }); } }; SourceManager2.prototype._getSourceMetaRawOption = function() { var sourceHost = this._sourceHost; var seriesLayoutBy; var sourceHeader; var dimensions; if (isSeries(sourceHost)) { seriesLayoutBy = sourceHost.get("seriesLayoutBy", true); sourceHeader = sourceHost.get("sourceHeader", true); dimensions = sourceHost.get("dimensions", true); } else if (!this._getUpstreamSourceManagers().length) { var model = sourceHost; seriesLayoutBy = model.get("seriesLayoutBy", true); sourceHeader = model.get("sourceHeader", true); dimensions = model.get("dimensions", true); } return { seriesLayoutBy, sourceHeader, dimensions }; }; return SourceManager2; }() ); function disableTransformOptionMerge(datasetModel) { var transformOption = datasetModel.option.transform; transformOption && setAsPrimitive(datasetModel.option.transform); } function isSeries(sourceHost) { return sourceHost.mainType === "series"; } function doThrow(errMsg) { throw new Error(errMsg); } // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/visual/tokens.js var tokens = { color: {}, darkColor: {}, size: {} }; var color = tokens.color = { theme: ["#5070dd", "#b6d634", "#505372", "#ff994d", "#0ca8df", "#ffd10a", "#fb628b", "#785db0", "#3fbe95"], neutral00: "#fff", neutral05: "#f4f7fd", neutral10: "#e8ebf0", neutral15: "#dbdee4", neutral20: "#cfd2d7", neutral25: "#c3c5cb", neutral30: "#b7b9be", neutral35: "#aaacb2", neutral40: "#9ea0a5", neutral45: "#929399", neutral50: "#86878c", neutral55: "#797b7f", neutral60: "#6d6e73", neutral65: "#616266", neutral70: "#54555a", neutral75: "#48494d", neutral80: "#3c3c41", neutral85: "#303034", neutral90: "#232328", neutral95: "#17171b", neutral99: "#000", accent05: "#eff1f9", accent10: "#e0e4f2", accent15: "#d0d6ec", accent20: "#c0c9e6", accent25: "#b1bbdf", accent30: "#a1aed9", accent35: "#91a0d3", accent40: "#8292cc", accent45: "#7285c6", accent50: "#6578ba", accent55: "#5c6da9", accent60: "#536298", accent65: "#4a5787", accent70: "#404c76", accent75: "#374165", accent80: "#2e3654", accent85: "#252b43", accent90: "#1b2032", accent95: "#121521", transparent: "rgba(0,0,0,0)", highlight: "rgba(255,231,130,0.8)" }; extend(color, { primary: color.neutral80, secondary: color.neutral70, tertiary: color.neutral60, quaternary: color.neutral50, disabled: color.neutral20, border: color.neutral30, borderTint: color.neutral20, borderShade: color.neutral40, background: color.neutral05, backgroundTint: "rgba(234,237,245,0.5)", backgroundTransparent: "rgba(255,255,255,0)", backgroundShade: color.neutral10, shadow: "rgba(0,0,0,0.2)", shadowTint: "rgba(129,130,136,0.2)", axisLine: color.neutral70, axisLineTint: color.neutral40, axisTick: color.neutral70, axisTickMinor: color.neutral60, axisLabel: color.neutral70, axisSplitLine: color.neutral15, axisMinorSplitLine: color.neutral05 }); for (key in color) { if (color.hasOwnProperty(key)) { hex = color[key]; if (key === "theme") { tokens.darkColor.theme = color.theme.slice(); } else if (key === "highlight") { tokens.darkColor.highlight = "rgba(255,231,130,0.4)"; } else if (key.indexOf("accent") === 0) { tokens.darkColor[key] = modifyHSL(hex, null, function(s) { return s * 0.5; }, function(l) { return Math.min(1, 1.3 - l); }); } else { tokens.darkColor[key] = modifyHSL(hex, null, function(s) { return s * 0.9; }, function(l) { return 1 - Math.pow(l, 1.5); }); } } } var hex; var key; tokens.size = { xxs: 2, xs: 5, s: 10, m: 15, l: 20, xl: 30, xxl: 40, xxxl: 50 }; var tokens_default = tokens; // ../node_modules/.pnpm/echarts@6.0.0/node_modules/echarts/lib/component/tooltip/tooltipMarkup.js var TOOLTIP_LINE_HEIGHT_CSS = "line-height:1"; function getTooltipLineHeight(textStyle) { var lineHeight = textStyle.lineHeight; if (lineHeight == null) { return TOOLTIP_LINE_HEIGHT_CSS; } else { return "line-height:" + encodeHTML(lineHeight + "") + "px"; } } function getTooltipTextStyle(textStyle, renderMode) { var nameFontColor = textStyle.color || tokens_default.color.tertiary; var nameFontSize = textStyle.fontSize || 12; var nameFontWeight = textStyle.fontWeight || "400"; var valueFontColor = textStyle.color || tokens_default.color.secondary; var valueFontSize = textStyle.fontSize || 14; var valueFontWeight = textStyle.fontWeight || "900"; if (renderMode === "html") { return { // eslint-disable-next-line max-len nameStyle: "font-size:" + encodeHTML(nameFontSize + "") + "px;color:" + encodeHTML(nameFontColor) + ";font-weight:" + encodeHTML(nameFontWeight + ""), // eslint-disable-next-line max-len valueStyle: "font-size:" + encodeHTML(valueFontSize + "") + "px;color:" + encodeHTML(valueFontColor) + ";font-weight:" + encodeHTML(valueFontWeight + "") }; } else { return { nameStyle: { fontSize: nameFontSize, fill: nameFontColor, fontWeight: nameFontWeight }, valueStyle: { fontSize: valueFontSize, fill: valueFontColor, fontWeight: valueFontWeight } }; } } var HTML_GAPS = [0, 10, 20, 30]; var RICH_TEXT_GAPS = ["", "\n", "\n\n", "\n\n\n"]; function createTooltipMarkup(type, option) { option.type = type; return option; } function isSectionFragment(frag) { return frag.type === "section"; } function getBuilder(frag) { return isSectionFragment(frag) ? buildSection : buildNameValue; } function getBlockGapLevel(frag) { if (isSectionFragment(frag)) { var gapLevel_1 = 0; var subBlockLen = frag.blocks.length; var hasInnerGap_1 = subBlockLen > 1 || subBlockLen > 0 && !frag.noHeader; each(frag.blocks, function(subBlock) { var subGapLevel = getBlockGapLevel(subBlock); if (subGapLevel >= gapLevel_1) { gapLevel_1 = subGapLevel + +(hasInnerGap_1 && // 0 always can not be readable gap level. (!subGapLevel || isSectionFragment(subBlock) && !subBlock.noHeader)); } }); return gapLevel_1; } return 0; } function buildSection(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) { var noHeader = fragment.noHeader; var gaps = getGap(getBlockGapLevel(fragment)); var subMarkupTextList = []; var subBlocks = fragment.blocks || []; assert(!subBlocks || isArray(subBlocks)); subBlocks = subBlocks || []; var orderMode = ctx.orderMode; if (fragment.sortBlocks && orderMode) { subBlocks = subBlocks.slice(); var orderMap = { valueAsc: "asc", valueDesc: "desc" }; if (hasOwn(orderMap, orderMode)) { var comparator_1 = new SortOrderComparator(orderMap[orderMode], null); subBlocks.sort(function(a, b) { return comparator_1.evaluate(a.sortParam, b.sortParam); }); } else if (orderMode === "seriesDesc") { subBlocks.reverse(); } } each(subBlocks, function(subBlock, idx) { var valueFormatter = fragment.valueFormatter; var subMarkupText2 = getBuilder(subBlock)( // Inherit valueFormatter valueFormatter ? extend(extend({}, ctx), { valueFormatter }) : ctx, subBlock, idx > 0 ? gaps.html : 0, toolTipTextStyle ); subMarkupText2 != null && subMarkupTextList.push(subMarkupText2); }); var subMarkupText = ctx.renderMode === "richText" ? subMarkupTextList.join(gaps.richText) : wrapBlockHTML(toolTipTextStyle, subMarkupTextList.join(""), noHeader ? topMarginForOuterGap : gaps.html); if (noHeader) { return subMarkupText; } var displayableHeader = makeValueReadable(fragment.header, "ordinal", ctx.useUTC); var nameStyle = getTooltipTextStyle(toolTipTextStyle, ctx.renderMode).nameStyle; var tooltipLineHeight = getTooltipLineHeight(toolTipTextStyle); if (ctx.renderMode === "richText") { return wrapInlineNameRichText(ctx, displayableHeader, nameStyle) + gaps.richText + subMarkupText; } else { return wrapBlockHTML(toolTipTextStyle, '