import * as tslib_1 from "tslib";
import { HorizontalAlignment_$type } from "igniteui-react-core/ES5/HorizontalAlignment";
import { VerticalAlignment_$type } from "igniteui-react-core/ES5/VerticalAlignment";
import { Visibility_$type } from "igniteui-react-core/ES5/Visibility";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { IgrDomainChart } from "./igr-domain-chart";
import { brushToString, stringToBrush, ensureBool, ensureEnum } from "igniteui-react-core/ES5/componentUtil";
/**
 * Represents a base class for domain charts with X/Y axes
*/
var IgrXYChart = /** @class */ (function (_super) {
    tslib_1.__extends(IgrXYChart, _super);
    function IgrXYChart(props) {
        return _super.call(this, props) || this;
    }
    Object.defineProperty(IgrXYChart.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        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 + "! ]";
        * }
        * ```
        */
        get: function () {
            return this.i.ib;
        },
        set: function (v) {
            this.i.ib = v;
        },
        enumerable: true,
        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+ "! ]";
        * }
        * ```
        */
        get: function () {
            return this.i.ic;
        },
        set: function (v) {
            this.i.ic = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jq;
        },
        set: function (v) {
            this.i.jq = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.js;
        },
        set: function (v) {
            this.i.js = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jr;
        },
        set: function (v) {
            this.i.jr = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jp;
        },
        set: function (v) {
            this.i.jp = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j7;
        },
        set: function (v) {
            this.i.j7 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j9;
        },
        set: function (v) {
            this.i.j9 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j8;
        },
        set: function (v) {
            this.i.j8 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j6;
        },
        set: function (v) {
            this.i.j6 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.nx);
        },
        set: function (v) {
            this.i.nx = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n4);
        },
        set: function (v) {
            this.i.n4 = stringToBrush(v);
        },
        enumerable: true,
        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.j1;
        },
        set: function (v) {
            this.i.j1 = +v;
        },
        enumerable: true,
        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.ki;
        },
        set: function (v) {
            this.i.ki = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j0;
        },
        set: function (v) {
            this.i.j0 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kh;
        },
        set: function (v) {
            this.i.kh = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j3;
        },
        set: function (v) {
            this.i.j3 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kk;
        },
        set: function (v) {
            this.i.kk = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j2;
        },
        set: function (v) {
            this.i.j2 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kj;
        },
        set: function (v) {
            this.i.kj = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jz;
        },
        set: function (v) {
            this.i.jz = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kg;
        },
        set: function (v) {
            this.i.kg = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n3);
        },
        set: function (v) {
            this.i.n3 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.oa);
        },
        set: function (v) {
            this.i.oa = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.k6;
        },
        set: function (v) {
            this.i.k6 = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.l8;
        },
        set: function (v) {
            this.i.l8 = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.lu;
        },
        set: function (v) {
            this.i.lu = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.mw;
        },
        set: function (v) {
            this.i.mw = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabel", {
        /**
         * Gets or sets the format for labels along the X-axis.
        */
        get: function () {
            return this.i.kn;
        },
        set: function (v) {
            this.i.kn = v;
        },
        enumerable: true,
        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.ko;
        },
        set: function (v) {
            this.i.ko = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.ny);
        },
        set: function (v) {
            this.i.ny = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n5);
        },
        set: function (v) {
            this.i.n5 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jt;
        },
        set: function (v) {
            this.i.jt = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.ka;
        },
        set: function (v) {
            this.i.ka = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.ju;
        },
        set: function (v) {
            this.i.ju = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kb;
        },
        set: function (v) {
            this.i.kb = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n0);
        },
        set: function (v) {
            this.i.n0 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n7);
        },
        set: function (v) {
            this.i.n7 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n1);
        },
        set: function (v) {
            this.i.n1 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n8);
        },
        set: function (v) {
            this.i.n8 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jv;
        },
        set: function (v) {
            this.i.jv = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kc;
        },
        set: function (v) {
            this.i.kc = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jw;
        },
        set: function (v) {
            this.i.jw = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kd;
        },
        set: function (v) {
            this.i.kd = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n2);
        },
        set: function (v) {
            this.i.n2 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n9);
        },
        set: function (v) {
            this.i.n9 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jx;
        },
        set: function (v) {
            this.i.jx = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.ke;
        },
        set: function (v) {
            this.i.ke = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.ll;
        },
        set: function (v) {
            this.i.ll = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.mn;
        },
        set: function (v) {
            this.i.mn = v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.nz);
        },
        set: function (v) {
            this.i.nz = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return brushToString(this.i.n6);
        },
        set: function (v) {
            this.i.n6 = stringToBrush(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jo;
        },
        set: function (v) {
            this.i.jo = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j5;
        },
        set: function (v) {
            this.i.j5 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jn;
        },
        set: function (v) {
            this.i.jn = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.j4;
        },
        set: function (v) {
            this.i.j4 = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.jy;
        },
        set: function (v) {
            this.i.jy = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.kf;
        },
        set: function (v) {
            this.i.kf = +v;
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.ii;
        },
        set: function (v) {
            this.i.ii = ensureBool(v);
        },
        enumerable: true,
        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:
        *
        * The default value of `yAxisInverted` is false.
        */
        get: function () {
            return this.i.ij;
        },
        set: function (v) {
            this.i.ij = ensureBool(v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.nh;
        },
        set: function (v) {
            this.i.nh = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.og;
        },
        set: function (v) {
            this.i.og = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "xAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of X-axis labels.
        */
        get: function () {
            return this.i.ng;
        },
        set: function (v) {
            this.i.ng = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: true,
        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.ni;
        },
        set: function (v) {
            this.i.ni = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.oe;
        },
        set: function (v) {
            this.i.oe = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of Y-axis labels.
        */
        get: function () {
            return this.i.of;
        },
        set: function (v) {
            this.i.of = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.oj;
        },
        set: function (v) {
            this.i.oj = ensureEnum(Visibility_$type, v);
        },
        enumerable: true,
        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.
        */
        get: function () {
            return this.i.ok;
        },
        set: function (v) {
            this.i.ok = ensureEnum(Visibility_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrXYChart.prototype, "yAxisLabelLocation", {
        /**
         * The 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.
        */
        get: function () {
            return this.i.ie;
        },
        set: function (v) {
            this.i.ie = ensureEnum(AxisLabelsLocation_$type, v);
        },
        enumerable: true,
        configurable: true
    });
    /**
     * 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.jj(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.jl(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.jk(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.jm(scaledValue);
        return (iv);
    };
    return IgrXYChart;
}(IgrDomainChart));
export { IgrXYChart };
