import { __extends } from "tslib";
import { Component, Input } from '@angular/core';
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { ValueAxisLabelLocation_$type } from "./ValueAxisLabelLocation";
import { AngleAxisLabelLocation_$type } from "./AngleAxisLabelLocation";
import { IgxDomainChartComponent } from "./igx-domain-chart-component";
import { brushToString, stringToBrush, ensureBool, ensureEnum, arrayFindByName } from "igniteui-angular-core";
import * as i0 from "@angular/core";
/**
 * Represents a base class for domain charts with X/Y axes
*/
var IgxRadialBaseChartComponent = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgxRadialBaseChartComponent, _super);
    function IgxRadialBaseChartComponent() {
        return _super.call(this) || this;
    }
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisFormatLabel", {
        /**
         * Gets or sets function which takes an context object and returns a formatted label for the X-axis.
        */
        get: function () {
            return this.i.z8;
        },
        set: function (v) {
            this.i.z8 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisFormatLabel", {
        /**
         * Gets or sets function which takes a context object and returns a formatted label for the Y-axis.
        */
        get: function () {
            return this.i.z9;
        },
        set: function (v) {
            this.i.z9 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelLeftMargin", {
        /**
         * Gets or sets the left margin of labels on the X-axis
        */
        get: function () {
            return this.i.abj;
        },
        set: function (v) {
            this.i.abj = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelTopMargin", {
        /**
         * Gets or sets the top margin of labels on the X-axis
        */
        get: function () {
            return this.i.abl;
        },
        set: function (v) {
            this.i.abl = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelRightMargin", {
        /**
         * Gets or sets the right margin of labels on the X-axis
        */
        get: function () {
            return this.i.abk;
        },
        set: function (v) {
            this.i.abk = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelBottomMargin", {
        /**
         * Gets or sets the bottom margin of labels on the X-axis
        */
        get: function () {
            return this.i.abi;
        },
        set: function (v) {
            this.i.abi = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelLeftMargin", {
        /**
         * Gets or sets the left margin of labels on the Y-axis
        */
        get: function () {
            return this.i.ab4;
        },
        set: function (v) {
            this.i.ab4 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelTopMargin", {
        /**
         * Gets or sets the top margin of labels on the Y-axis
        */
        get: function () {
            return this.i.ab6;
        },
        set: function (v) {
            this.i.ab6 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelRightMargin", {
        /**
         * Gets or sets the right margin of labels on the Y-axis
        */
        get: function () {
            return this.i.ab5;
        },
        set: function (v) {
            this.i.ab5 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelBottomMargin", {
        /**
         * Gets or sets the bottom margin of labels on the Y-axis
        */
        get: function () {
            return this.i.ab3;
        },
        set: function (v) {
            this.i.ab3 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelTextColor", {
        /**
         * Gets or sets color of labels on the X-axis
        */
        get: function () {
            return brushToString(this.i.agb);
        },
        set: function (v) {
            this.i.agb = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelTextColor", {
        /**
         * Gets or sets color of labels on the Y-axis
        */
        get: function () {
            return brushToString(this.i.agi);
        },
        set: function (v) {
            this.i.agi = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "actualAngleAxisLabelTextColor", {
        /**
         * Gets the actual color of labels on the X-axis
        */
        get: function () {
            return brushToString(this.i.af9);
        },
        set: function (v) {
            this.i.af9 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "actualValueAxisLabelTextColor", {
        /**
         * Gets the actual color of labels on the Y-axis
        */
        get: function () {
            return brushToString(this.i.aga);
        },
        set: function (v) {
            this.i.aga = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleMargin", {
        /**
         * Gets or sets the margin around a title on the X-axis
        */
        get: function () {
            return this.i.abu;
        },
        set: function (v) {
            this.i.abu = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleMargin", {
        /**
         * Gets or sets the margin around a title on the Y-axis
        */
        get: function () {
            return this.i.acf;
        },
        set: function (v) {
            this.i.acf = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleLeftMargin", {
        /**
         * Gets or sets the left margin of a title on the X-axis
        */
        get: function () {
            return this.i.abt;
        },
        set: function (v) {
            this.i.abt = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleLeftMargin", {
        /**
         * Gets or sets the left margin of a title on the Y-axis
        */
        get: function () {
            return this.i.ace;
        },
        set: function (v) {
            this.i.ace = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleTopMargin", {
        /**
         * Gets or sets the top margin of a title on the X-axis
        */
        get: function () {
            return this.i.abw;
        },
        set: function (v) {
            this.i.abw = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleTopMargin", {
        /**
         * Gets or sets the top margin of a title on the Y-axis
        */
        get: function () {
            return this.i.ach;
        },
        set: function (v) {
            this.i.ach = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleRightMargin", {
        /**
         * Gets or sets the right margin of a title on the X-axis
        */
        get: function () {
            return this.i.abv;
        },
        set: function (v) {
            this.i.abv = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleRightMargin", {
        /**
         * Gets or sets the right margin of a title on the Y-axis
        */
        get: function () {
            return this.i.acg;
        },
        set: function (v) {
            this.i.acg = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleBottomMargin", {
        /**
         * Gets or sets the bottom margin of a title on the X-axis
        */
        get: function () {
            return this.i.abs;
        },
        set: function (v) {
            this.i.abs = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleBottomMargin", {
        /**
         * Gets or sets the bottom margin of a title on the Y-axis
        */
        get: function () {
            return this.i.acd;
        },
        set: function (v) {
            this.i.acd = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleTextColor", {
        /**
         * Gets or sets color of title on the X-axis
        */
        get: function () {
            return brushToString(this.i.agh);
        },
        set: function (v) {
            this.i.agh = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleTextColor", {
        /**
         * Gets or sets color of title on the Y-axis
        */
        get: function () {
            return brushToString(this.i.ago);
        },
        set: function (v) {
            this.i.ago = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelTextStyle", {
        /**
         * Gets or sets CSS font property for labels on X-axis
        */
        get: function () {
            return this.i.ada;
        },
        set: function (v) {
            this.i.ada = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelTextStyle", {
        /**
         * Gets or sets CSS font property for labels on Y-axis
        */
        get: function () {
            return this.i.aeg;
        },
        set: function (v) {
            this.i.aeg = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleTextStyle", {
        /**
         * Gets or sets CSS font property for title on X-axis
        */
        get: function () {
            return this.i.ady;
        },
        set: function (v) {
            this.i.ady = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleTextStyle", {
        /**
         * Gets or sets CSS font property for title on Y-axis
        */
        get: function () {
            return this.i.ae4;
        },
        set: function (v) {
            this.i.ae4 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabel", {
        /**
         * Gets or sets the format for labels along the X-axis.
        */
        get: function () {
            return this.i.ack;
        },
        set: function (v) {
            this.i.ack = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabel", {
        /**
         * Gets or sets the property or string from which the labels are derived.
        */
        get: function () {
            return this.i.acl;
        },
        set: function (v) {
            this.i.acl = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisMajorStroke", {
        /**
         * Gets or sets the color to apply to major gridlines along the X-axis.
        */
        get: function () {
            return brushToString(this.i.agc);
        },
        set: function (v) {
            this.i.agc = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisMajorStroke", {
        /**
         * Gets or sets the color to apply to major gridlines along the Y-axis.
        */
        get: function () {
            return brushToString(this.i.agj);
        },
        set: function (v) {
            this.i.agj = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisMajorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to major gridlines along the X-axis.
        */
        get: function () {
            return this.i.abm;
        },
        set: function (v) {
            this.i.abm = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisMajorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to major gridlines along the Y-axis.
        */
        get: function () {
            return this.i.ab7;
        },
        set: function (v) {
            this.i.ab7 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisMinorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to minor gridlines along the X-axis.
        */
        get: function () {
            return this.i.abn;
        },
        set: function (v) {
            this.i.abn = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisMinorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to minor gridlines along the Y-axis.
        */
        get: function () {
            return this.i.ab8;
        },
        set: function (v) {
            this.i.ab8 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisStrip", {
        /**
         * Gets or sets the color to apply to stripes along the X-axis.
        */
        get: function () {
            return brushToString(this.i.age);
        },
        set: function (v) {
            this.i.age = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisStrip", {
        /**
         * Gets or sets the color to apply to stripes along the Y-axis.
        */
        get: function () {
            return brushToString(this.i.agl);
        },
        set: function (v) {
            this.i.agl = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisStroke", {
        /**
         * Gets or sets the color to apply to the X-axis line.
        */
        get: function () {
            return brushToString(this.i.agf);
        },
        set: function (v) {
            this.i.agf = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisStroke", {
        /**
         * Gets or sets the color to apply to the Y-axis line.
        */
        get: function () {
            return brushToString(this.i.agm);
        },
        set: function (v) {
            this.i.agm = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to the X-axis line.
        */
        get: function () {
            return this.i.abo;
        },
        set: function (v) {
            this.i.abo = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to the Y-axis line.
        */
        get: function () {
            return this.i.ab9;
        },
        set: function (v) {
            this.i.ab9 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTickLength", {
        /**
         * Gets or sets the length of tickmarks along the X-axis.
        */
        get: function () {
            return this.i.abp;
        },
        set: function (v) {
            this.i.abp = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTickLength", {
        /**
         * Gets or sets the length of tickmarks along the Y-axis.
        */
        get: function () {
            return this.i.aca;
        },
        set: function (v) {
            this.i.aca = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTickStroke", {
        /**
         * Gets or sets the color to apply to tickmarks along the X-axis.
        */
        get: function () {
            return brushToString(this.i.agg);
        },
        set: function (v) {
            this.i.agg = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTickStroke", {
        /**
         * Gets or sets the color to apply to tickmarks along the Y-axis.
        */
        get: function () {
            return brushToString(this.i.agn);
        },
        set: function (v) {
            this.i.agn = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTickStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to tickmarks along the X-axis.
        */
        get: function () {
            return this.i.abq;
        },
        set: function (v) {
            this.i.abq = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTickStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to tickmarks along the Y-axis.
        */
        get: function () {
            return this.i.acb;
        },
        set: function (v) {
            this.i.acb = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitle", {
        /**
         * Gets or sets the Text to display below the X-axis.
        */
        get: function () {
            return this.i.adp;
        },
        set: function (v) {
            this.i.adp = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitle", {
        /**
         * Gets or sets the Text to display to the left of the Y-axis.
        */
        get: function () {
            return this.i.aev;
        },
        set: function (v) {
            this.i.aev = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisMinorStroke", {
        /**
         * Gets or sets the color to apply to minor gridlines along the X-axis.
        */
        get: function () {
            return brushToString(this.i.agd);
        },
        set: function (v) {
            this.i.agd = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisMinorStroke", {
        /**
         * Gets or sets the color to apply to minor gridlines along the Y-axis.
        */
        get: function () {
            return brushToString(this.i.agk);
        },
        set: function (v) {
            this.i.agk = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelAngle", {
        /**
         * Gets or sets the angle of rotation for labels along the X-axis.
        */
        get: function () {
            return this.i.abh;
        },
        set: function (v) {
            this.i.abh = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelAngle", {
        /**
         * Gets or sets the angle of rotation for labels along the Y-axis.
        */
        get: function () {
            return this.i.ab2;
        },
        set: function (v) {
            this.i.ab2 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisExtent", {
        /**
         * Gets or sets the distance between the X-axis and the bottom of the chart.
        */
        get: function () {
            return this.i.abg;
        },
        set: function (v) {
            this.i.abg = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisExtent", {
        /**
         * Gets or sets the distance between the Y-axis and the left edge of the chart.
        */
        get: function () {
            return this.i.ab1;
        },
        set: function (v) {
            this.i.ab1 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleAngle", {
        /**
         * Gets or sets the angle of rotation for the X-axis title.
        */
        get: function () {
            return this.i.abr;
        },
        set: function (v) {
            this.i.abr = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleAngle", {
        /**
         * Gets or sets the angle of rotation for the Y-axis title.
        */
        get: function () {
            return this.i.acc;
        },
        set: function (v) {
            this.i.acc = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisInverted", {
        /**
         * Gets or sets whether to invert the direction of the X-axis by placing the first data items on the right side of the chart.
        */
        get: function () {
            return this.i.aag;
        },
        set: function (v) {
            this.i.aag = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisInverted", {
        /**
         * Gets or sets whether to invert the direction of the Y-axis by placing the minimum numeric value at the top of the chart.
        */
        get: function () {
            return this.i.aah;
        },
        set: function (v) {
            this.i.aah = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisTitleAlignment", {
        /**
         * Gets or sets Horizontal alignment of the X-axis title.
        */
        get: function () {
            return this.i.afr;
        },
        set: function (v) {
            this.i.afr = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisTitleAlignment", {
        /**
         * Gets or sets Vertical alignment of the Y-axis title.
        */
        get: function () {
            return this.i.agu;
        },
        set: function (v) {
            this.i.agu = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of X-axis labels.
        */
        get: function () {
            return this.i.afq;
        },
        set: function (v) {
            this.i.afq = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of Y-axis labels.
        */
        get: function () {
            return this.i.afs;
        },
        set: function (v) {
            this.i.afs = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of X-axis labels.
        */
        get: function () {
            return this.i.ags;
        },
        set: function (v) {
            this.i.ags = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of Y-axis labels.
        */
        get: function () {
            return this.i.agt;
        },
        set: function (v) {
            this.i.agt = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelVisibility", {
        /**
         * Gets or sets Visibility of X-axis labels.
        */
        get: function () {
            return this.i.agx;
        },
        set: function (v) {
            this.i.agx = ensureEnum(Visibility_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelVisibility", {
        /**
         * Gets or sets Visibility of Y-axis labels.
        */
        get: function () {
            return this.i.agy;
        },
        set: function (v) {
            this.i.agy = ensureEnum(Visibility_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelLocation", {
        /**
         * Gets or sets location of Y-axis labels, relative to the plot area.
        */
        get: function () {
            return this.i.aad;
        },
        set: function (v) {
            this.i.aad = ensureEnum(ValueAxisLabelLocation_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelLocation", {
        /**
         * Gets or sets location of X-axis labels, relative to the plot area.
        */
        get: function () {
            return this.i.z3;
        },
        set: function (v) {
            this.i.z3 = ensureEnum(AngleAxisLabelLocation_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelFormat", {
        /**
         * Gets or sets the format string for the X axis label.
        */
        get: function () {
            return this.i.ac1;
        },
        set: function (v) {
            this.i.ac1 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisLabelFormatSpecifiers", {
        /**
         * Gets or sets the format specifiers to use with the AngleAxisLabelFormat string.
        */
        get: function () {
            return this.i.z0;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.z0 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelFormat", {
        /**
         * Gets or sets the format string for the Y axis label.
        */
        get: function () {
            return this.i.ad7;
        },
        set: function (v) {
            this.i.ad7 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisLabelFormatSpecifiers", {
        /**
         * Gets or sets the format specifiers to use with the ValueAxisLabelFormat string.
        */
        get: function () {
            return this.i.z1;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.z1 = v;
        },
        enumerable: false,
        configurable: true
    });
    IgxRadialBaseChartComponent.prototype.findByName = function (name) {
        var baseResult = _super.prototype.findByName.call(this, name);
        if (baseResult) {
            return baseResult;
        }
        if (this.angleAxisLabelFormatSpecifiers != null && arrayFindByName(this.angleAxisLabelFormatSpecifiers, name)) {
            return arrayFindByName(this.angleAxisLabelFormatSpecifiers, name);
        }
        if (this.valueAxisLabelFormatSpecifiers != null && arrayFindByName(this.valueAxisLabelFormatSpecifiers, name)) {
            return arrayFindByName(this.valueAxisLabelFormatSpecifiers, name);
        }
        return null;
    };
    /**
     * Called by the UI framework to provide a UI container for rendering this control.
    
    * @param container  * The UI container element.
    */
    IgxRadialBaseChartComponent.prototype.provideContainer = function (container) {
        this.i.provideContainer(container);
    };
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The x-coordinate of the location to scale.
    */
    IgxRadialBaseChartComponent.prototype.getScaledAngle = function (unscaledValue) {
        var iv = this.i.abx(unscaledValue);
        return (iv);
    };
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    IgxRadialBaseChartComponent.prototype.getUnscaledAngle = function (scaledValue) {
        var iv = this.i.abz(scaledValue);
        return (iv);
    };
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The y-coordinate of the location to scale.
    */
    IgxRadialBaseChartComponent.prototype.getScaledValue = function (unscaledValue) {
        var iv = this.i.aby(unscaledValue);
        return (iv);
    };
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    IgxRadialBaseChartComponent.prototype.getUnscaledValue = function (scaledValue) {
        var iv = this.i.ab0(scaledValue);
        return (iv);
    };
    IgxRadialBaseChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialBaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    IgxRadialBaseChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: IgxRadialBaseChartComponent, selector: "ng-component", inputs: { angleAxisFormatLabel: "angleAxisFormatLabel", valueAxisFormatLabel: "valueAxisFormatLabel", angleAxisLabelLeftMargin: "angleAxisLabelLeftMargin", angleAxisLabelTopMargin: "angleAxisLabelTopMargin", angleAxisLabelRightMargin: "angleAxisLabelRightMargin", angleAxisLabelBottomMargin: "angleAxisLabelBottomMargin", valueAxisLabelLeftMargin: "valueAxisLabelLeftMargin", valueAxisLabelTopMargin: "valueAxisLabelTopMargin", valueAxisLabelRightMargin: "valueAxisLabelRightMargin", valueAxisLabelBottomMargin: "valueAxisLabelBottomMargin", angleAxisLabelTextColor: "angleAxisLabelTextColor", valueAxisLabelTextColor: "valueAxisLabelTextColor", actualAngleAxisLabelTextColor: "actualAngleAxisLabelTextColor", actualValueAxisLabelTextColor: "actualValueAxisLabelTextColor", angleAxisTitleMargin: "angleAxisTitleMargin", valueAxisTitleMargin: "valueAxisTitleMargin", angleAxisTitleLeftMargin: "angleAxisTitleLeftMargin", valueAxisTitleLeftMargin: "valueAxisTitleLeftMargin", angleAxisTitleTopMargin: "angleAxisTitleTopMargin", valueAxisTitleTopMargin: "valueAxisTitleTopMargin", angleAxisTitleRightMargin: "angleAxisTitleRightMargin", valueAxisTitleRightMargin: "valueAxisTitleRightMargin", angleAxisTitleBottomMargin: "angleAxisTitleBottomMargin", valueAxisTitleBottomMargin: "valueAxisTitleBottomMargin", angleAxisTitleTextColor: "angleAxisTitleTextColor", valueAxisTitleTextColor: "valueAxisTitleTextColor", angleAxisLabelTextStyle: "angleAxisLabelTextStyle", valueAxisLabelTextStyle: "valueAxisLabelTextStyle", angleAxisTitleTextStyle: "angleAxisTitleTextStyle", valueAxisTitleTextStyle: "valueAxisTitleTextStyle", angleAxisLabel: "angleAxisLabel", valueAxisLabel: "valueAxisLabel", angleAxisMajorStroke: "angleAxisMajorStroke", valueAxisMajorStroke: "valueAxisMajorStroke", angleAxisMajorStrokeThickness: "angleAxisMajorStrokeThickness", valueAxisMajorStrokeThickness: "valueAxisMajorStrokeThickness", angleAxisMinorStrokeThickness: "angleAxisMinorStrokeThickness", valueAxisMinorStrokeThickness: "valueAxisMinorStrokeThickness", angleAxisStrip: "angleAxisStrip", valueAxisStrip: "valueAxisStrip", angleAxisStroke: "angleAxisStroke", valueAxisStroke: "valueAxisStroke", angleAxisStrokeThickness: "angleAxisStrokeThickness", valueAxisStrokeThickness: "valueAxisStrokeThickness", angleAxisTickLength: "angleAxisTickLength", valueAxisTickLength: "valueAxisTickLength", angleAxisTickStroke: "angleAxisTickStroke", valueAxisTickStroke: "valueAxisTickStroke", angleAxisTickStrokeThickness: "angleAxisTickStrokeThickness", valueAxisTickStrokeThickness: "valueAxisTickStrokeThickness", angleAxisTitle: "angleAxisTitle", valueAxisTitle: "valueAxisTitle", angleAxisMinorStroke: "angleAxisMinorStroke", valueAxisMinorStroke: "valueAxisMinorStroke", angleAxisLabelAngle: "angleAxisLabelAngle", valueAxisLabelAngle: "valueAxisLabelAngle", angleAxisExtent: "angleAxisExtent", valueAxisExtent: "valueAxisExtent", angleAxisTitleAngle: "angleAxisTitleAngle", valueAxisTitleAngle: "valueAxisTitleAngle", angleAxisInverted: "angleAxisInverted", valueAxisInverted: "valueAxisInverted", angleAxisTitleAlignment: "angleAxisTitleAlignment", valueAxisTitleAlignment: "valueAxisTitleAlignment", angleAxisLabelHorizontalAlignment: "angleAxisLabelHorizontalAlignment", valueAxisLabelHorizontalAlignment: "valueAxisLabelHorizontalAlignment", angleAxisLabelVerticalAlignment: "angleAxisLabelVerticalAlignment", valueAxisLabelVerticalAlignment: "valueAxisLabelVerticalAlignment", angleAxisLabelVisibility: "angleAxisLabelVisibility", valueAxisLabelVisibility: "valueAxisLabelVisibility", valueAxisLabelLocation: "valueAxisLabelLocation", angleAxisLabelLocation: "angleAxisLabelLocation", angleAxisLabelFormat: "angleAxisLabelFormat", angleAxisLabelFormatSpecifiers: "angleAxisLabelFormatSpecifiers", valueAxisLabelFormat: "valueAxisLabelFormat", valueAxisLabelFormatSpecifiers: "valueAxisLabelFormatSpecifiers" }, usesInheritance: true, ngImport: i0, template: "", isInline: true });
    return IgxRadialBaseChartComponent;
}(IgxDomainChartComponent));
export { IgxRadialBaseChartComponent };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialBaseChartComponent, decorators: [{
            type: Component,
            args: [{
                    template: "",
                }]
        }], ctorParameters: function () { return []; }, propDecorators: { angleAxisFormatLabel: [{
                type: Input
            }], valueAxisFormatLabel: [{
                type: Input
            }], angleAxisLabelLeftMargin: [{
                type: Input
            }], angleAxisLabelTopMargin: [{
                type: Input
            }], angleAxisLabelRightMargin: [{
                type: Input
            }], angleAxisLabelBottomMargin: [{
                type: Input
            }], valueAxisLabelLeftMargin: [{
                type: Input
            }], valueAxisLabelTopMargin: [{
                type: Input
            }], valueAxisLabelRightMargin: [{
                type: Input
            }], valueAxisLabelBottomMargin: [{
                type: Input
            }], angleAxisLabelTextColor: [{
                type: Input
            }], valueAxisLabelTextColor: [{
                type: Input
            }], actualAngleAxisLabelTextColor: [{
                type: Input
            }], actualValueAxisLabelTextColor: [{
                type: Input
            }], angleAxisTitleMargin: [{
                type: Input
            }], valueAxisTitleMargin: [{
                type: Input
            }], angleAxisTitleLeftMargin: [{
                type: Input
            }], valueAxisTitleLeftMargin: [{
                type: Input
            }], angleAxisTitleTopMargin: [{
                type: Input
            }], valueAxisTitleTopMargin: [{
                type: Input
            }], angleAxisTitleRightMargin: [{
                type: Input
            }], valueAxisTitleRightMargin: [{
                type: Input
            }], angleAxisTitleBottomMargin: [{
                type: Input
            }], valueAxisTitleBottomMargin: [{
                type: Input
            }], angleAxisTitleTextColor: [{
                type: Input
            }], valueAxisTitleTextColor: [{
                type: Input
            }], angleAxisLabelTextStyle: [{
                type: Input
            }], valueAxisLabelTextStyle: [{
                type: Input
            }], angleAxisTitleTextStyle: [{
                type: Input
            }], valueAxisTitleTextStyle: [{
                type: Input
            }], angleAxisLabel: [{
                type: Input
            }], valueAxisLabel: [{
                type: Input
            }], angleAxisMajorStroke: [{
                type: Input
            }], valueAxisMajorStroke: [{
                type: Input
            }], angleAxisMajorStrokeThickness: [{
                type: Input
            }], valueAxisMajorStrokeThickness: [{
                type: Input
            }], angleAxisMinorStrokeThickness: [{
                type: Input
            }], valueAxisMinorStrokeThickness: [{
                type: Input
            }], angleAxisStrip: [{
                type: Input
            }], valueAxisStrip: [{
                type: Input
            }], angleAxisStroke: [{
                type: Input
            }], valueAxisStroke: [{
                type: Input
            }], angleAxisStrokeThickness: [{
                type: Input
            }], valueAxisStrokeThickness: [{
                type: Input
            }], angleAxisTickLength: [{
                type: Input
            }], valueAxisTickLength: [{
                type: Input
            }], angleAxisTickStroke: [{
                type: Input
            }], valueAxisTickStroke: [{
                type: Input
            }], angleAxisTickStrokeThickness: [{
                type: Input
            }], valueAxisTickStrokeThickness: [{
                type: Input
            }], angleAxisTitle: [{
                type: Input
            }], valueAxisTitle: [{
                type: Input
            }], angleAxisMinorStroke: [{
                type: Input
            }], valueAxisMinorStroke: [{
                type: Input
            }], angleAxisLabelAngle: [{
                type: Input
            }], valueAxisLabelAngle: [{
                type: Input
            }], angleAxisExtent: [{
                type: Input
            }], valueAxisExtent: [{
                type: Input
            }], angleAxisTitleAngle: [{
                type: Input
            }], valueAxisTitleAngle: [{
                type: Input
            }], angleAxisInverted: [{
                type: Input
            }], valueAxisInverted: [{
                type: Input
            }], angleAxisTitleAlignment: [{
                type: Input
            }], valueAxisTitleAlignment: [{
                type: Input
            }], angleAxisLabelHorizontalAlignment: [{
                type: Input
            }], valueAxisLabelHorizontalAlignment: [{
                type: Input
            }], angleAxisLabelVerticalAlignment: [{
                type: Input
            }], valueAxisLabelVerticalAlignment: [{
                type: Input
            }], angleAxisLabelVisibility: [{
                type: Input
            }], valueAxisLabelVisibility: [{
                type: Input
            }], valueAxisLabelLocation: [{
                type: Input
            }], angleAxisLabelLocation: [{
                type: Input
            }], angleAxisLabelFormat: [{
                type: Input
            }], angleAxisLabelFormatSpecifiers: [{
                type: Input
            }], valueAxisLabelFormat: [{
                type: Input
            }], valueAxisLabelFormatSpecifiers: [{
                type: Input
            }] } });
