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.aa5;
        },
        set: function (v) {
            this.i.aa5 = 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.aa6;
        },
        set: function (v) {
            this.i.aa6 = 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.ack;
        },
        set: function (v) {
            this.i.ack = +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.acm;
        },
        set: function (v) {
            this.i.acm = +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.acl;
        },
        set: function (v) {
            this.i.acl = +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.acj;
        },
        set: function (v) {
            this.i.acj = +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.ac7;
        },
        set: function (v) {
            this.i.ac7 = +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.ac9;
        },
        set: function (v) {
            this.i.ac9 = +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.ac8;
        },
        set: function (v) {
            this.i.ac8 = +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.ac6;
        },
        set: function (v) {
            this.i.ac6 = +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.ahk);
        },
        set: function (v) {
            this.i.ahk = 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.ahr);
        },
        set: function (v) {
            this.i.ahr = 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.ahi);
        },
        set: function (v) {
            this.i.ahi = 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.ahj);
        },
        set: function (v) {
            this.i.ahj = 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.acx;
        },
        set: function (v) {
            this.i.acx = +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.adk;
        },
        set: function (v) {
            this.i.adk = +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.acw;
        },
        set: function (v) {
            this.i.acw = +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.adj;
        },
        set: function (v) {
            this.i.adj = +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.acz;
        },
        set: function (v) {
            this.i.acz = +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.adm;
        },
        set: function (v) {
            this.i.adm = +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.acy;
        },
        set: function (v) {
            this.i.acy = +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.adl;
        },
        set: function (v) {
            this.i.adl = +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.acv;
        },
        set: function (v) {
            this.i.acv = +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.adi;
        },
        set: function (v) {
            this.i.adi = +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.ahq);
        },
        set: function (v) {
            this.i.ahq = 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.ahx);
        },
        set: function (v) {
            this.i.ahx = 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.aef;
        },
        set: function (v) {
            this.i.aef = 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.afn;
        },
        set: function (v) {
            this.i.afn = 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.ae5;
        },
        set: function (v) {
            this.i.ae5 = 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.agd;
        },
        set: function (v) {
            this.i.agd = 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.adp;
        },
        set: function (v) {
            this.i.adp = 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.adq;
        },
        set: function (v) {
            this.i.adq = 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.ahl);
        },
        set: function (v) {
            this.i.ahl = 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.ahs);
        },
        set: function (v) {
            this.i.ahs = 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.acn;
        },
        set: function (v) {
            this.i.acn = +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.ada;
        },
        set: function (v) {
            this.i.ada = +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.acq;
        },
        set: function (v) {
            this.i.acq = +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.add;
        },
        set: function (v) {
            this.i.add = +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.ahn);
        },
        set: function (v) {
            this.i.ahn = 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.ahu);
        },
        set: function (v) {
            this.i.ahu = 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.aho);
        },
        set: function (v) {
            this.i.aho = 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.ahv);
        },
        set: function (v) {
            this.i.ahv = 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.acr;
        },
        set: function (v) {
            this.i.acr = +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.ade;
        },
        set: function (v) {
            this.i.ade = +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.acs;
        },
        set: function (v) {
            this.i.acs = +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.adf;
        },
        set: function (v) {
            this.i.adf = +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.ahp);
        },
        set: function (v) {
            this.i.ahp = 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.ahw);
        },
        set: function (v) {
            this.i.ahw = 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.act;
        },
        set: function (v) {
            this.i.act = +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.adg;
        },
        set: function (v) {
            this.i.adg = +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.aew;
        },
        set: function (v) {
            this.i.aew = 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.af4;
        },
        set: function (v) {
            this.i.af4 = 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.ahm);
        },
        set: function (v) {
            this.i.ahm = 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.aht);
        },
        set: function (v) {
            this.i.aht = 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.aci;
        },
        set: function (v) {
            this.i.aci = +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.ac5;
        },
        set: function (v) {
            this.i.ac5 = +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.ach;
        },
        set: function (v) {
            this.i.ach = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisMaximumExtent", {
        /**
         * Gets or sets the maximum distance between the X-axis and the bottom of the chart.
        */
        get: function () {
            return this.i.aco;
        },
        set: function (v) {
            this.i.aco = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "angleAxisMaximumExtentPercentage", {
        /**
         * Gets or sets the maximum width between the X-axis and the bottom of the chart, as a percentage of total chart width.
        */
        get: function () {
            return this.i.acp;
        },
        set: function (v) {
            this.i.acp = +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.ac4;
        },
        set: function (v) {
            this.i.ac4 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisMaximumExtent", {
        /**
         * Gets or sets the distance between the Y-axis and the left edge of the chart.
        */
        get: function () {
            return this.i.adb;
        },
        set: function (v) {
            this.i.adb = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxRadialBaseChartComponent.prototype, "valueAxisMaximumExtentPercentage", {
        /**
         * Gets or sets the distance between the Y-axis and the left edge of the chart.
        */
        get: function () {
            return this.i.adc;
        },
        set: function (v) {
            this.i.adc = +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.acu;
        },
        set: function (v) {
            this.i.acu = +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.adh;
        },
        set: function (v) {
            this.i.adh = +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.abd;
        },
        set: function (v) {
            this.i.abd = 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.abe;
        },
        set: function (v) {
            this.i.abe = 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.ag0;
        },
        set: function (v) {
            this.i.ag0 = 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.ah3;
        },
        set: function (v) {
            this.i.ah3 = 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.agz;
        },
        set: function (v) {
            this.i.agz = 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.ag1;
        },
        set: function (v) {
            this.i.ag1 = 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.ah1;
        },
        set: function (v) {
            this.i.ah1 = 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.ah2;
        },
        set: function (v) {
            this.i.ah2 = 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.ah6;
        },
        set: function (v) {
            this.i.ah6 = 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.ah7;
        },
        set: function (v) {
            this.i.ah7 = 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.aba;
        },
        set: function (v) {
            this.i.aba = 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.aa0;
        },
        set: function (v) {
            this.i.aa0 = 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.ad6;
        },
        set: function (v) {
            this.i.ad6 = 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.aax;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.aax = 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.afe;
        },
        set: function (v) {
            this.i.afe = 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.aay;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.aay = 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.ac0(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.ac2(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.ac1(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.ac3(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", angleAxisMaximumExtent: "angleAxisMaximumExtent", angleAxisMaximumExtentPercentage: "angleAxisMaximumExtentPercentage", valueAxisExtent: "valueAxisExtent", valueAxisMaximumExtent: "valueAxisMaximumExtent", valueAxisMaximumExtentPercentage: "valueAxisMaximumExtentPercentage", 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
            }], angleAxisMaximumExtent: [{
                type: Input
            }], angleAxisMaximumExtentPercentage: [{
                type: Input
            }], valueAxisExtent: [{
                type: Input
            }], valueAxisMaximumExtent: [{
                type: Input
            }], valueAxisMaximumExtentPercentage: [{
                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
            }] } });
