import { __extends } from "../../../node_modules/tslib/tslib.es6.mjs";
import { use } from "../../extension.mjs";
import AxisView from "../axis/AxisView.mjs";
import PolarAxisPointer from "../axisPointer/PolarAxisPointer.mjs";
import { install as install$1 } from "../axisPointer/install.mjs";
import PolarModel from "../../coord/polar/PolarModel.mjs";
import axisModelCreator from "../../coord/axisModelCreator.mjs";
import { AngleAxisModel, RadiusAxisModel } from "../../coord/polar/AxisModel.mjs";
import polarCreator from "../../coord/polar/polarCreator.mjs";
import AngleAxisView from "../axis/AngleAxisView.mjs";
import RadiusAxisView from "../axis/RadiusAxisView.mjs";
import ComponentView from "../../view/Component.mjs";
import { curry } from "../../../../../../zrender@5.4.4/node_modules/zrender/lib/core/util.mjs";
import barLayoutPolar from "../../layout/barPolar.mjs";
var angleAxisExtraOption = {
  startAngle: 90,
  clockwise: true,
  splitNumber: 12,
  axisLabel: {
    rotate: 0
  }
};
var radiusAxisExtraOption = {
  splitNumber: 5
};
var PolarView = (
  /** @class */
  function(_super) {
    __extends(PolarView2, _super);
    function PolarView2() {
      var _this = _super !== null && _super.apply(this, arguments) || this;
      _this.type = PolarView2.type;
      return _this;
    }
    PolarView2.type = "polar";
    return PolarView2;
  }(ComponentView)
);
function install(registers) {
  use(install$1);
  AxisView.registerAxisPointerClass("PolarAxisPointer", PolarAxisPointer);
  registers.registerCoordinateSystem("polar", polarCreator);
  registers.registerComponentModel(PolarModel);
  registers.registerComponentView(PolarView);
  axisModelCreator(registers, "angle", AngleAxisModel, angleAxisExtraOption);
  axisModelCreator(registers, "radius", RadiusAxisModel, radiusAxisExtraOption);
  registers.registerComponentView(AngleAxisView);
  registers.registerComponentView(RadiusAxisView);
  registers.registerLayout(curry(barLayoutPolar, "bar"));
}
export {
  install
};
