import { __extends } from "tslib";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { VerticalAlignment_$type } from "igniteui-react-core";
import { Visibility_$type } from "igniteui-react-core";
import { YAxisLabelLocation_$type } from "./YAxisLabelLocation";
import { XAxisLabelLocation_$type } from "./XAxisLabelLocation";
import { IgrDomainChart } from "./igr-domain-chart";
import { brushToString, stringToBrush, ensureBool, ensureEnum, arrayFindByName } from "igniteui-react-core";
/**
 * Represents a base class for domain charts with X/Y axes
*/
var IgrXYChart = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgrXYChart, _super);
    function IgrXYChart(props) {
        return _super.call(this, props) || this;
    }
    Object.defineProperty(IgrXYChart.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisFormatLabel", {
        /**
         * Gets or sets function which takes an context object and returns a formatted label for the X-axis.
        *
        * To customize the text of the x-axis label, set `XAxisFormatLabel` to a single-parameter function.  The argument passed to that function will be your data item.
        *
        * ```ts
        * formatX(item: any): string {
        *     return "[ " + item.label + "! ]";
        * }
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisFormatLabel="formatX"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.wq;
        },
        set: function (v) {
            this.i.wq = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisFormatLabel", {
        /**
         * Gets or sets function which takes a context object and returns a formatted label for the Y-axis.
        *
        * To customize the text of the y-axis label, set `YAxisFormatLabel` to a single-parameter function.  The argument passed to that function will be the numeric value corresponding to a position on the y-axis.
        *
        * ```ts
        * formatY(value: any): string {
        *     return "[ " + value+ "! ]";
        * }
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisFormatLabel="formatY"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.wr;
        },
        set: function (v) {
            this.i.wr = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelLeftMargin", {
        /**
         * Gets or sets the left margin of labels on the X-axis
        *
        * Use the `XAxisLabelLeftMargin` property to apply a margin left of the x-axis labels.
        *
        * ```ts
        * this.chart.xAxisLabelLeftMargin ="100";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisLabelLeftMargin={100}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.x7;
        },
        set: function (v) {
            this.i.x7 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelTopMargin", {
        /**
         * Gets or sets the top margin of labels on the X-axis
        *
        * Use the `XAxisLabelTopMargin` property to apply a margin above the x-axis labels.
        *
        * ```ts
        * this.chart.xAxisTitleTopMargin="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleTopMargin	={250}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.x9;
        },
        set: function (v) {
            this.i.x9 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelRightMargin", {
        /**
         * Gets or sets the right margin of labels on the X-axis
        *
        * Use the `XAxisLabelRightMargin` property to apply a margin right of the x-axis labels.
        *
        * ```ts
        * this.chart.xAxisLabelRightMargin="100";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisLabelRightMargin={250}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.x8;
        },
        set: function (v) {
            this.i.x8 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelBottomMargin", {
        /**
         * Gets or sets the bottom margin of labels on the X-axis
        *
        * Use the `XAxisLabelBottomMargin` property to apply a margin below the x-axis labels.
        *
        * ```ts
        * this.chart.xAxisLabelBottomMargin ="100";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisLabelBottomMargin={100}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.x6;
        },
        set: function (v) {
            this.i.x6 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelLeftMargin", {
        /**
         * Gets or sets the left margin of labels on the Y-axis
        *
        * Use the `YAxisLabelLeftMargin` property to apply a margin left of the y-axis labels.
        *
        * ```ts
        * this.chart. yAxisLabelLeftMargin="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 yAxisLabelLeftMargin={250}
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yo;
        },
        set: function (v) {
            this.i.yo = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelTopMargin", {
        /**
         * Gets or sets the top margin of labels on the Y-axis
        *
        * Use the `YAxisLabelTopMargin` property to apply a margin above the y-axis labels.
        *
        * ```ts
        * this.chart.yAxisLabelTopMargin="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelTopMargin	={250}
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yq;
        },
        set: function (v) {
            this.i.yq = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelRightMargin", {
        /**
         * Gets or sets the right margin of labels on the Y-axis
        *
        * Use the `YAxisLabelRightMargin` property to apply a margin right of the y-axis labels.
        *
        * ```ts
        * this.chart.yAxisLabelRightMargin="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelRightMargin={250}
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yp;
        },
        set: function (v) {
            this.i.yp = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelBottomMargin", {
        /**
         * Gets or sets the bottom margin of labels on the Y-axis
        *
        * Use the `YAxisLabelBottomMargin` property to apply a margin below the y-axis labels.
        *
        * ```ts
        * this.chart.yAxisLabelBottomMargin="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelBottomMargin={250}
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yn;
        },
        set: function (v) {
            this.i.yn = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelTextColor", {
        /**
         * Gets or sets color of labels on the X-axis
        *
        * To change the color of x-axis labels, set the `XAxisLabelTextColor` property to a color string.
        *
        * ```ts
        * this.chart.xAxisLabelTextColor="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisLabelTextColor="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.acv);
        },
        set: function (v) {
            this.i.acv = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelTextColor", {
        /**
         * Gets or sets color of labels on the Y-axis
        *
        * To change the color of y-axis labels, set the `YAxisLabelTextColor` property to a color string.
        *
        * ```ts
        * this.chart.yAxisLabelTextColor="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelTextColor="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac2);
        },
        set: function (v) {
            this.i.ac2 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "actualXAxisLabelTextColor", {
        /**
         * Gets the actual color of labels on the X-axis
        */
        get: function () {
            return brushToString(this.i.act);
        },
        set: function (v) {
            this.i.act = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "actualYAxisLabelTextColor", {
        /**
         * Gets the actual color of labels on the Y-axis
        */
        get: function () {
            return brushToString(this.i.acu);
        },
        set: function (v) {
            this.i.acu = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleMargin", {
        /**
         * Gets or sets the margin around a title on the X-axis
        *
        * Use the `XAxisTitleMargin` property to set a margin around the y-axis title.
        */
        get: function () {
            return this.i.yi;
        },
        set: function (v) {
            this.i.yi = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleMargin", {
        /**
         * Gets or sets the margin around a title on the Y-axis
        *
        * Use the `YAxisTitleMargin` property to set a margin around the y-axis title.
        */
        get: function () {
            return this.i.yz;
        },
        set: function (v) {
            this.i.yz = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleLeftMargin", {
        /**
         * Gets or sets the left margin of a title on the X-axis
        *
        * Use the `XAxisTitleLeftMargin` property to apply a margin left of the x-axis title.
        *
        * ```ts
        * this.chart.xAxisTitleLeftMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleLeftMargin={150}
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yh;
        },
        set: function (v) {
            this.i.yh = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleLeftMargin", {
        /**
         * Gets or sets the left margin of a title on the Y-axis
        *
        * Use the `YAxisTitleLeftMargin` property to apply a margin left of the y-axis title.
        *
        * ```ts
        * this.chart.yAxisTitleLeftMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleLeftMargin={150}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yy;
        },
        set: function (v) {
            this.i.yy = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleTopMargin", {
        /**
         * Gets or sets the top margin of a title on the X-axis
        *
        * Use the `XAxisTitleTopMargin` property to apply a margin above the x-axis title.
        *
        * ```ts
        * this.chart.xAxisTitleTopMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleTopMargin	={150}
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yk;
        },
        set: function (v) {
            this.i.yk = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleTopMargin", {
        /**
         * Gets or sets the top margin of a title on the Y-axis
        *
        * Use the `YAxisTitleTopMargin` property to apply a margin above the y-axis title.
        *
        * ```ts
        * this.chart.yAxisTitleTopMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleTopMargin	={150}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.y1;
        },
        set: function (v) {
            this.i.y1 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleRightMargin", {
        /**
         * Gets or sets the right margin of a title on the X-axis
        *
        * Use the `XAxisTitleRightMargin` property to apply a margin right of the x-axis title.
        *
        * ```ts
        * this.chart.xAxisTitleRightMargin="100";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleRightMargin="100"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yj;
        },
        set: function (v) {
            this.i.yj = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleRightMargin", {
        /**
         * Gets or sets the right margin of a title on the Y-axis
        *
        * Use the `YAxisTitleRightMargin` property to apply a margin right of the y-axis title.
        *
        * ```ts
        * this.chart.yAxisTitleRightMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleRightMargin={150}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.y0;
        },
        set: function (v) {
            this.i.y0 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleBottomMargin", {
        /**
         * Gets or sets the bottom margin of a title on the X-axis
        *
        * Use the `XAxisTitleBottomMargin` property to apply a margin below the x-axis title.
        *
        * ```ts
        * this.chart.xAxisTitleBottomMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleBottomMargin={250}
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yg;
        },
        set: function (v) {
            this.i.yg = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleBottomMargin", {
        /**
         * Gets or sets the bottom margin of a title on the Y-axis
        *
        * Use the `YAxisTitleBottomMargin` property to apply a margin below the y-axis title.
        *
        * ```ts
        * this.chart.yAxisTitleBottomMargin="150";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleBottomMargin	={150}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yx;
        },
        set: function (v) {
            this.i.yx = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleTextColor", {
        /**
         * Gets or sets color of title on the X-axis
        *
        * To change the color of the x-axis title, set the `XAxisTitleTextColor` property to a color string.
        *
        * ```ts
        * this.chart.xAxisTitleTextColor="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisTitleTextColor="green"
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac1);
        },
        set: function (v) {
            this.i.ac1 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleTextColor", {
        /**
         * Gets or sets color of title on the Y-axis
        *
        * To change the color of the y-axis title, set the `YAxisTitleTextColor` property to a color string.
        *
        * ```ts
        * this.chart.yAxisTitleTextColor="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleTextColor="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac8);
        },
        set: function (v) {
            this.i.ac8 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelTextStyle", {
        /**
         * Gets or sets CSS font property for labels on X-axis
        *
        * To change the font of x-axis labels, set the `XAxisLabelTextStyle` property.
        *
        * ```ts
        * this.chart.xAxisLabelTextStyle="italic 15px arial, sans-serif";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisLabelTextStyle="italic 15px arial, sans-serif"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.zv;
        },
        set: function (v) {
            this.i.zv = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelTextStyle", {
        /**
         * Gets or sets CSS font property for labels on Y-axis
        *
        * To change the font of x-axis labels, set the `YAxisLabelTextStyle` property.
        *
        * ```ts
        * this.chart. yAxisLabelTextStyle="italic 15px arial, sans-serif";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 yAxisLabelTextStyle="italic 15px arial, sans-serif"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.aa0;
        },
        set: function (v) {
            this.i.aa0 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleTextStyle", {
        /**
         * Gets or sets CSS font property for title on X-axis
        *
        * To change the font of the x-axis title, set the `XAxisTitleTextStyle` property.
        *
        * ```ts
        * this.chart.xAxisTitleTextStyle="italic 15px arial, sans-serif";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleTextStyle="italic 15px arial, sans-serif"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.aaj;
        },
        set: function (v) {
            this.i.aaj = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleTextStyle", {
        /**
         * Gets or sets CSS font property for title on Y-axis
        *
        * To change the font of the x-axis title, set the `YAxisTitleTextStyle` property.
        *
        * ```ts
        * this.chart.yAxisTitleTextStyle="italic 15px arial, sans-serif";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleTextStyle="italic 15px arial, sans-serif"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.abo;
        },
        set: function (v) {
            this.i.abo = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabel", {
        /**
         * Gets or sets the format for labels along the X-axis.
        */
        get: function () {
            return this.i.y4;
        },
        set: function (v) {
            this.i.y4 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabel", {
        /**
         * Gets or sets the property or string from which the labels are derived.
        */
        get: function () {
            return this.i.y5;
        },
        set: function (v) {
            this.i.y5 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisMajorStroke", {
        /**
         * Gets or sets the color to apply to major gridlines along the X-axis.
        *
        * Set `XAxisMajorStroke` to control the color of major gridlines extending vertically from the x-axis.
        *
        * ```ts
        * this.chart.xAxisMajorStroke="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisMajorStroke="green"
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.acw);
        },
        set: function (v) {
            this.i.acw = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisMajorStroke", {
        /**
         * Gets or sets the color to apply to major gridlines along the Y-axis.
        *
        * Set `YAxisMajorStroke` to control the color of major gridlines extending horizontally from the y-axis.
        *
        * ```ts
        * this.chart.yAxisMajorStroke="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        *     yAxisMajorStroke="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac3);
        },
        set: function (v) {
            this.i.ac3 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisMajorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to major gridlines along the X-axis.
        *
        * Set `XAxisMajorStrokeThickness` to control the thickness of major gridlines extending vertically from the x-axis.
        *
        * ```ts
        * this.chart.xAxisMajorStrokeThickness="3" ;
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisMajorStrokeThickness="3"
        * 	xAxisExtent	={250}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.ya;
        },
        set: function (v) {
            this.i.ya = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisMajorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to major gridlines along the Y-axis.
        *
        * Set `YAxisMajorStrokeThickness` to control the thickness of major gridlines extending horizontally from the y-axis.
        *
        * ```ts
        * this.chart.yAxisMajorStrokeThickness="2";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisMajorStrokeThickness={2}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yr;
        },
        set: function (v) {
            this.i.yr = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisMinorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to minor gridlines along the X-axis.
        *
        * Set `XAxisMinorStrokeThickness` to control the thickness of minor gridlines extending vertically from the x-axis.
        *
        * ```ts
        * this.chart.xAxisMinorStrokeThickness="3";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisMinorStrokeThickness="3"
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yb;
        },
        set: function (v) {
            this.i.yb = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisMinorStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to minor gridlines along the Y-axis.
        *
        * Set `YAxisMinorStrokeThickness` to control the thickness of minor gridlines extending horizontally from the y-axis.
        *
        * ```ts
        * this.chart.yAxisMinorStrokeThickness="3";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisMinorStrokeThickness={3}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.ys;
        },
        set: function (v) {
            this.i.ys = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisStrip", {
        /**
         * Gets or sets the color to apply to stripes along the X-axis.
        *
        * Set `XAxisStrip` to control the alternating color of stripes extending vertically from the x-axis.
        *
        * ```ts
        * this.chart.xAxisStrip="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisStrip="green"
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.acy);
        },
        set: function (v) {
            this.i.acy = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisStrip", {
        /**
         * Gets or sets the color to apply to stripes along the Y-axis.
        *
        * Set `YAxisStrip` to control the alternating color of stripes extending horizontally from the y-axis.
        *
        * ```ts
        * this.chart.yAxisStrip="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisStrip="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac5);
        },
        set: function (v) {
            this.i.ac5 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisStroke", {
        /**
         * Gets or sets the color to apply to the X-axis line.
        *
        * Set `XAxisStroke` to control the color of the x-axis line.
        *
        * ```ts
        * this.chart.xAxisStroke="green"";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisStroke="green"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.acz);
        },
        set: function (v) {
            this.i.acz = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisStroke", {
        /**
         * Gets or sets the color to apply to the Y-axis line.
        *
        * Set `YAxisStroke` to control the color of the y-axis line.
        *
        * ```ts
        * this.chart.yAxisStroke="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisStroke="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac6);
        },
        set: function (v) {
            this.i.ac6 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to the X-axis line.
        *
        * Set `XAxisStrokeThickness` to control the thickness of the x-axis line.
        *
        * ```ts
        * this.chart.xAxisStrokeThickness="2";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisStrokeThickness={2}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yc;
        },
        set: function (v) {
            this.i.yc = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to the Y-axis line.
        *
        * Set `YAxisStrokeThickness` to control the thickness of the y-axis line.
        *
        * ```ts
        * this.chart. yAxisStrokeThickness="2";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 yAxisStrokeThickness={2}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yt;
        },
        set: function (v) {
            this.i.yt = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTickLength", {
        /**
         * Gets or sets the length of tickmarks along the X-axis.
        *
        * Set `XAxisTickLength` to control the length of tickmarks extending vertically from the x-axis line.
        *
        * ```ts
        * this.chart.xAxisTickLength="25";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTickLength	={25}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yd;
        },
        set: function (v) {
            this.i.yd = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTickLength", {
        /**
         * Gets or sets the length of tickmarks along the Y-axis.
        *
        * Set `YAxisTickLength` to control the length of tickmarks extending horizontally from the y-axis line.
        *
        * ```ts
        * this.chart.yAxisTickLength="25";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTickLength	={25}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yu;
        },
        set: function (v) {
            this.i.yu = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTickStroke", {
        /**
         * Gets or sets the color to apply to tickmarks along the X-axis.
        *
        * Set `XAxisTickStroke` to control the color of tickmarks extending vertically from the x-axis line.
        *
        * ```ts
        * this.chart. xAxisTickStroke="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisTickStroke="green"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac0);
        },
        set: function (v) {
            this.i.ac0 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTickStroke", {
        /**
         * Gets or sets the color to apply to tickmarks along the Y-axis.
        *
        * Set `YAxisTickStroke` to control the color of tickmarks extending horizontally from the y-axis line.
        *
        * ```ts
        * this.chart.yAxisTickStroke="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTickStroke="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac7);
        },
        set: function (v) {
            this.i.ac7 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTickStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to tickmarks along the X-axis.
        *
        * Set `XAxisTickStrokeThickness` to control the thickness of tickmarks extending vertically from the x-axis line.
        *
        * ```ts
        * this.chart.xAxisTickStrokeThickness="20";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTickStrokeThickness={20}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.ye;
        },
        set: function (v) {
            this.i.ye = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTickStrokeThickness", {
        /**
         * Gets or sets the thickness to apply to tickmarks along the Y-axis.
        *
        * Set `YAxisTickStrokeThickness` to control the thickness of tickmarks extending vertically from the y-axis line.
        *
        * ```ts
        * this.chart.yAxisTickStrokeThickness="25";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTickStrokeThickness	={25}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yv;
        },
        set: function (v) {
            this.i.yv = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitle", {
        /**
         * Gets or sets the Text to display below the X-axis.
        *
        * Set `XAxisTitle` to display a label adjacent to the x-axis.
        *
        * ```ts
        * this.chart. xAxisTitle="x axis";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitle="x axis"
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.aaa;
        },
        set: function (v) {
            this.i.aaa = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitle", {
        /**
         * Gets or sets the Text to display to the left of the Y-axis.
        *
        * Set `YAxisTitle` to display a label adjacent to the y-axis.
        *
        * ```ts
        * this.chart.yAxisTitle="y axis";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitle="y axis"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.abf;
        },
        set: function (v) {
            this.i.abf = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisMinorStroke", {
        /**
         * Gets or sets the color to apply to minor gridlines along the X-axis.
        *
        * Set `XAxisMinorStroke` to control the color of minor gridlines extending vertically from the x-axis.
        *
        * ```ts
        * this.chart.xAxisExtent="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisMinorStroke="green"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.acx);
        },
        set: function (v) {
            this.i.acx = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisMinorStroke", {
        /**
         * Gets or sets the color to apply to minor gridlines along the Y-axis.
        *
        * Set `YAxisMinorStroke` to control the color of minor gridlines extending horizontally from the y-axis.
        *
        * ```ts
        * this.chart.yAxisMinorStroke="green";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisMinorStroke="green"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return brushToString(this.i.ac4);
        },
        set: function (v) {
            this.i.ac4 = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelAngle", {
        /**
         * Gets or sets the angle of rotation for labels along the X-axis.
        *
        * To control the rotation of labels on the x-axis, set the `XAxisLabelAngle` property to a number of rotational degrees.
        *
        * ```ts
        * this.chart.xAxisLabelAngle="45";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisLabelAngle={45}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.x5;
        },
        set: function (v) {
            this.i.x5 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelAngle", {
        /**
         * Gets or sets the angle of rotation for labels along the Y-axis.
        *
        * To control the rotation of labels on the y-axis, set the `YAxisLabelAngle` property to a number of rotational degrees.
        *
        * ```ts
        * this.chart.yAxisLabelAngle="25";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelAngle	={25}
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.ym;
        },
        set: function (v) {
            this.i.ym = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisExtent", {
        /**
         * Gets or sets the distance between the X-axis and the bottom of the chart.
        *
        * To allocate space between the x-axis and the edge of the chart, set the `XAxisExtent` property.
        *
        * ```ts
        * this.chart.xAxisExtent="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisExtent	={250}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.x4;
        },
        set: function (v) {
            this.i.x4 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisExtent", {
        /**
         * Gets or sets the distance between the Y-axis and the left edge of the chart.
        *
        * To allocate space between the x-axis and the edge of the chart, set the `XAxisExtent` property.
        *
        * ```ts
        * this.chart.xAxisExtent="250";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisExtent	={250}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yl;
        },
        set: function (v) {
            this.i.yl = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleAngle", {
        /**
         * Gets or sets the angle of rotation for the X-axis title.
        *
        * Set `XAxisTitleAngle` to control the rotation of the x-axis title.
        *
        * ```ts
        * this.chart.xAxisTitleAngle="50";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisTitleAngle	={50}
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yf;
        },
        set: function (v) {
            this.i.yf = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleAngle", {
        /**
         * Gets or sets the angle of rotation for the Y-axis title.
        *
        * Set `YAxisTitleAngle` to control the rotation of the y-axis title.
        *
        * ```ts
        * this.chart.yAxisTitleAngle="25";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleAngle	={24}
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.yw;
        },
        set: function (v) {
            this.i.yw = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisInverted", {
        /**
         * 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.
        *
        * To reverse the direction of items along the x-axis, set the `XAxisInverted` property to true.
        *
        * ```ts
        * this.chart.XAxisInverted="True";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	XAxisInverted="True"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.w0;
        },
        set: function (v) {
            this.i.w0 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisInverted", {
        /**
         * Gets or sets whether to invert the direction of the Y-axis by placing the minimum numeric value at the top of the chart.
        *
        * You can use `YAxisInverted` to invert the scale of the y axis like this:
        *
        * ```ts
        * this.chart.yAxisInverted="true";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 yAxisInverted="true"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        *
        * The default value of `YAxisInverted` is false.
        */
        get: function () {
            return this.i.w1;
        },
        set: function (v) {
            this.i.w1 = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisTitleAlignment", {
        /**
         * Gets or sets Horizontal alignment of the X-axis title.
        *
        * Set `XAxisTitleAlignment` to control the horizontal alignment of the x-axis title.
        *
        * ```ts
        * this.chart.xAxisTitleAlignment="right";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisTitleAlignment="right"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.acb;
        },
        set: function (v) {
            this.i.acb = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisTitleAlignment", {
        /**
         * Gets or sets Vertical alignment of the Y-axis title.
        *
        * Set `YAxisTitleAlignment` to control the vertical alignment of the x-axis title.
        *
        * ```ts
        * this.chart.yAxisTitleAlignment="bottom";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisTitleAlignment="bottom"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.ade;
        },
        set: function (v) {
            this.i.ade = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of X-axis labels.
        */
        get: function () {
            return this.i.aca;
        },
        set: function (v) {
            this.i.aca = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of Y-axis labels.
        *
        * Set the `YAxisLabelHorizontalAlignment` property to change the horizontal alignment of y-axis labels.
        */
        get: function () {
            return this.i.acc;
        },
        set: function (v) {
            this.i.acc = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of X-axis labels.
        *
        * Use the `XAxisLabelVerticalAlignment` property to change the vertical position of x-axis labels.
        *
        * ```ts
        * this.chart.xAxisLabelVerticalAlignment="bottom";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	xAxisLabelVerticalAlignment="bottom"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.adc;
        },
        set: function (v) {
            this.i.adc = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of Y-axis labels.
        */
        get: function () {
            return this.i.add;
        },
        set: function (v) {
            this.i.add = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelVisibility", {
        /**
         * Gets or sets Visibility of X-axis labels.
        *
        * To hide the x-axis labels, set `XAxisLabelVisibility` to collapsed.
        *
        * ```ts
        * this.chart.xAxisLabelVisibility="collapsed";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	 xAxisLabelVisibility="collapsed"
        * 	dataSource={this.state.data}>
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.adh;
        },
        set: function (v) {
            this.i.adh = ensureEnum(Visibility_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelVisibility", {
        /**
         * Gets or sets Visibility of Y-axis labels.
        *
        * To hide the y-axis labels, set `YAxisLabelVisibility` to collapsed.
        *
        * ```ts
        * this.chart.yAxisLabelVisibility="collapsed"";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelVisibility="collapsed"
        * 	dataSource={this.state.data}
        * 	chartType="stepArea" >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.adi;
        },
        set: function (v) {
            this.i.adi = ensureEnum(Visibility_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelLocation", {
        /**
         * Gets or sets location of Y-axis labels, relative to the plot area.
        *
        * Set the `YAxisLabelLocation` property to change the location of the y-axis and its labels.
        *
        * ```ts
        * this.chart.yAxisLabelLocation="outsideRight";
        * ```
        *
        * ```ts
        * <IgrCategoryChart
        * 	yAxisLabelLocation="outsideRight"
        * 	dataSource={this.state.data} >
        * </IgrCategoryChart>
        * ```
        */
        get: function () {
            return this.i.wx;
        },
        set: function (v) {
            this.i.wx = ensureEnum(YAxisLabelLocation_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelLocation", {
        /**
         * Gets or sets location of X-axis labels, relative to the plot area.
        */
        get: function () {
            return this.i.wv;
        },
        set: function (v) {
            this.i.wv = ensureEnum(XAxisLabelLocation_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelFormat", {
        /**
         * Gets or sets the format string for the X axis label.
        */
        get: function () {
            return this.i.zm;
        },
        set: function (v) {
            this.i.zm = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelFormatSpecifiers", {
        /**
         * Gets or sets the format specifiers to use with the XAxisLabelFormat string.
        */
        get: function () {
            return this.i.wk;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.wk = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelFormat", {
        /**
         * Gets or sets the format string for the Y axis label.
        */
        get: function () {
            return this.i.aar;
        },
        set: function (v) {
            this.i.aar = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelFormatSpecifiers", {
        /**
         * Gets or sets the format specifiers to use with the YAxisLabelFormat string.
        */
        get: function () {
            return this.i.wl;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.wl = v;
        },
        enumerable: false,
        configurable: true
    });
    IgrXYChart.prototype.findByName = function (name) {
        var baseResult = _super.prototype.findByName.call(this, name);
        if (baseResult) {
            return baseResult;
        }
        if (this.xAxisLabelFormatSpecifiers != null && arrayFindByName(this.xAxisLabelFormatSpecifiers, name)) {
            return arrayFindByName(this.xAxisLabelFormatSpecifiers, name);
        }
        if (this.yAxisLabelFormatSpecifiers != null && arrayFindByName(this.yAxisLabelFormatSpecifiers, name)) {
            return arrayFindByName(this.yAxisLabelFormatSpecifiers, name);
        }
        return null;
    };
    /**
     * Called by the UI framework to provide a UI container for rendering this control.
    
    * @param container  * The UI container element.
    */
    IgrXYChart.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.
    */
    IgrXYChart.prototype.getScaledValueX = function (unscaledValue) {
        var iv = this.i.x0(unscaledValue);
        return (iv);
    };
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    IgrXYChart.prototype.getUnscaledValueX = function (scaledValue) {
        var iv = this.i.x2(scaledValue);
        return (iv);
    };
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The y-coordinate of the location to scale.
    */
    IgrXYChart.prototype.getScaledValueY = function (unscaledValue) {
        var iv = this.i.x1(unscaledValue);
        return (iv);
    };
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    IgrXYChart.prototype.getUnscaledValueY = function (scaledValue) {
        var iv = this.i.x3(scaledValue);
        return (iv);
    };
    return IgrXYChart;
}(IgrDomainChart));
export { IgrXYChart };
