"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const color = require("../../../../../../zrender@5.4.4/node_modules/zrender/lib/tool/color.js");
const util = require("../../../../../../zrender@5.4.4/node_modules/zrender/lib/core/util.js");
function sunburstVisual(ecModel) {
  var paletteScope = {};
  function pickColor(node, seriesModel, treeHeight) {
    var current = node;
    while (current && current.depth > 1) {
      current = current.parentNode;
    }
    var color$1 = seriesModel.getColorFromPalette(current.name || current.dataIndex + "", paletteScope);
    if (node.depth > 1 && util.isString(color$1)) {
      color$1 = color.lift(color$1, (node.depth - 1) / (treeHeight - 1) * 0.5);
    }
    return color$1;
  }
  ecModel.eachSeriesByType("sunburst", function(seriesModel) {
    var data = seriesModel.getData();
    var tree = data.tree;
    tree.eachNode(function(node) {
      var model = node.getModel();
      var style = model.getModel("itemStyle").getItemStyle();
      if (!style.fill) {
        style.fill = pickColor(node, seriesModel, tree.root.height);
      }
      var existsStyle = data.ensureUniqueItemVisual(node.dataIndex, "style");
      util.extend(existsStyle, style);
    });
  });
}
exports.default = sunburstVisual;
