import { __extends } from "tslib";
import { Component, Input } from '@angular/core';
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { IgxDomainChartComponent } from "./igx-domain-chart-component";
import { brushToString, stringToBrush, ensureBool, ensureEnum, arrayFindByName } from "igniteui-angular-core";
import * as i0 from "@angular/core";
/**
 * Represents a base class for domain charts with X/Y axes
*/
var IgxXYChartComponent = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgxXYChartComponent, _super);
    function IgxXYChartComponent() {
        return _super.call(this) || this;
    }
    Object.defineProperty(IgxXYChartComponent.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     [xAxisFormatLabel]="formatX"
        *     xAxisExtent="250">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * formatX(item: any): string {
        *     return "[ " + item.label + "! ]";
        * }
        * ```
        */
        get: function () {
            return this.i.ke;
        },
        set: function (v) {
            this.i.ke = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     [yAxisFormatLabel]="formatY">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * formatY(value: any): string {
        *     return "[ " + value+ "! ]";
        * }
        * ```
        */
        get: function () {
            return this.i.kf;
        },
        set: function (v) {
            this.i.kf = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelLeftMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelLeftMargin ="100";
        * ```
        */
        get: function () {
            return this.i.lr;
        },
        set: function (v) {
            this.i.lr = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleTopMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleTopMargin="250";
        * ```
        */
        get: function () {
            return this.i.lt;
        },
        set: function (v) {
            this.i.lt = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelRightMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelRightMargin="100";
        * ```
        */
        get: function () {
            return this.i.ls;
        },
        set: function (v) {
            this.i.ls = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelBottomMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelBottomMargin ="100";
        * ```
        */
        get: function () {
            return this.i.lq;
        },
        set: function (v) {
            this.i.lq = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelLeftMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart. yAxisLabelLeftMargin="250";
        * ```
        */
        get: function () {
            return this.i.l8;
        },
        set: function (v) {
            this.i.l8 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelTopMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelTopMargin="250";
        * ```
        */
        get: function () {
            return this.i.ma;
        },
        set: function (v) {
            this.i.ma = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelRightMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelRightMargin="250";
        * ```
        */
        get: function () {
            return this.i.l9;
        },
        set: function (v) {
            this.i.l9 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelBottomMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelBottomMargin="250";
        * ```
        */
        get: function () {
            return this.i.l7;
        },
        set: function (v) {
            this.i.l7 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelTextColor="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelTextColor="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qc);
        },
        set: function (v) {
            this.i.qc = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelTextColor="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelTextColor="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qj);
        },
        set: function (v) {
            this.i.qj = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "actualXAxisLabelTextColor", {
        /**
         * Gets the actual color of labels on the X-axis
        */
        get: function () {
            return brushToString(this.i.qa);
        },
        set: function (v) {
            this.i.qa = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "actualYAxisLabelTextColor", {
        /**
         * Gets the actual color of labels on the Y-axis
        */
        get: function () {
            return brushToString(this.i.qb);
        },
        set: function (v) {
            this.i.qb = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.l2;
        },
        set: function (v) {
            this.i.l2 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.mj;
        },
        set: function (v) {
            this.i.mj = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleAlignment="left"
        *     xAxisTitleLeftMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleLeftMargin="150";
        * ```
        */
        get: function () {
            return this.i.l1;
        },
        set: function (v) {
            this.i.l1 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleLeftMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleLeftMargin="150";
        * ```
        */
        get: function () {
            return this.i.mi;
        },
        set: function (v) {
            this.i.mi = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleTopMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleTopMargin="150";
        * ```
        */
        get: function () {
            return this.i.l4;
        },
        set: function (v) {
            this.i.l4 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleAlignment="top"
        *     yAxisTitleTopMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleTopMargin="150";
        * ```
        */
        get: function () {
            return this.i.ml;
        },
        set: function (v) {
            this.i.ml = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleAlignment="right"
        *     xAxisTitleRightMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleRightMargin="100";
        * ```
        */
        get: function () {
            return this.i.l3;
        },
        set: function (v) {
            this.i.l3 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleRightMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleRightMargin="150";
        * ```
        */
        get: function () {
            return this.i.mk;
        },
        set: function (v) {
            this.i.mk = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleBottomMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleBottomMargin="150";
        * ```
        */
        get: function () {
            return this.i.l0;
        },
        set: function (v) {
            this.i.l0 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleAlignment="bottom"
        *     yAxisTitleBottomMargin="100">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleBottomMargin="150";
        * ```
        */
        get: function () {
            return this.i.mh;
        },
        set: function (v) {
            this.i.mh = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleTextColor="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleTextColor="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qi);
        },
        set: function (v) {
            this.i.qi = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleTextColor="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleTextColor="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qp);
        },
        set: function (v) {
            this.i.qp = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelTextStyle="italic 15px arial, sans-serif">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelTextStyle="italic 15px arial, sans-serif";
        * ```
        */
        get: function () {
            return this.i.ne;
        },
        set: function (v) {
            this.i.ne = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelTextStyle="italic 15px arial, sans-serif">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart. yAxisLabelTextStyle="italic 15px arial, sans-serif";
        * ```
        */
        get: function () {
            return this.i.oj;
        },
        set: function (v) {
            this.i.oj = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleTextStyle="italic 15px arial, sans-serif">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleTextStyle="italic 15px arial, sans-serif";
        * ```
        */
        get: function () {
            return this.i.n2;
        },
        set: function (v) {
            this.i.n2 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="y axis"
        *     yAxisTitleTextStyle="italic 15px arial, sans-serif">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleTextStyle="italic 15px arial, sans-serif";
        * ```
        */
        get: function () {
            return this.i.o7;
        },
        set: function (v) {
            this.i.o7 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisLabel", {
        /**
         * Gets or sets the format for labels along the X-axis.
        */
        get: function () {
            return this.i.mo;
        },
        set: function (v) {
            this.i.mo = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisLabel", {
        /**
         * Gets or sets the property or string from which the labels are derived.
        */
        get: function () {
            return this.i.mp;
        },
        set: function (v) {
            this.i.mp = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisMajorStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisMajorStroke="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qd);
        },
        set: function (v) {
            this.i.qd = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisMajorStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisMajorStroke="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qk);
        },
        set: function (v) {
            this.i.qk = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisMajorStroke="green"
        *     xAxisMajorStrokeThickness="3">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisMajorStrokeThickness="3" ;
        * ```
        */
        get: function () {
            return this.i.lu;
        },
        set: function (v) {
            this.i.lu = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisMajorStrokeThickness="3">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisMajorStrokeThickness="2";
        * ```
        */
        get: function () {
            return this.i.mb;
        },
        set: function (v) {
            this.i.mb = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisMinorStroke="green"
        *     xAxisMinorStrokeThickness="3">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisMinorStrokeThickness="3";
        * ```
        */
        get: function () {
            return this.i.lv;
        },
        set: function (v) {
            this.i.lv = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisMinorStroke="green"
        *     yAxisMinorStrokeThickness="3">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisMinorStrokeThickness="3";
        * ```
        */
        get: function () {
            return this.i.mc;
        },
        set: function (v) {
            this.i.mc = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisStrip="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisStrip="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qf);
        },
        set: function (v) {
            this.i.qf = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisStrip="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisStrip="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qm);
        },
        set: function (v) {
            this.i.qm = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisStroke="green"";
        * ```
        */
        get: function () {
            return brushToString(this.i.qg);
        },
        set: function (v) {
            this.i.qg = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisStroke="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qn);
        },
        set: function (v) {
            this.i.qn = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisStrokeThickness="3">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisStrokeThickness="2";
        * ```
        */
        get: function () {
            return this.i.lw;
        },
        set: function (v) {
            this.i.lw = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisStroke="green"
        *     yAxisStrokeThickness="3">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart. yAxisStrokeThickness="2";
        * ```
        */
        get: function () {
            return this.i.md;
        },
        set: function (v) {
            this.i.md = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTickLength="23">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTickLength="25";
        * ```
        */
        get: function () {
            return this.i.lx;
        },
        set: function (v) {
            this.i.lx = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTickLength="23">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTickLength="25";
        * ```
        */
        get: function () {
            return this.i.me;
        },
        set: function (v) {
            this.i.me = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTickStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart. xAxisTickStroke="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qh);
        },
        set: function (v) {
            this.i.qh = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTickLength="5"
        *     yAxisTickStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTickStroke="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.qo);
        },
        set: function (v) {
            this.i.qo = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTickStrokeThickness="10">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTickStrokeThickness="20";
        * ```
        */
        get: function () {
            return this.i.ly;
        },
        set: function (v) {
            this.i.ly = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTickLength="5"
        *     yAxisTickStrokeThickness="10">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTickStrokeThickness="25";
        * ```
        */
        get: function () {
            return this.i.mf;
        },
        set: function (v) {
            this.i.mf = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisTitle", {
        /**
         * Gets or sets the Text to display below the X-axis.
        *
        * Set `xAxisTitle` to display a label adjacent to the x-axis.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart. xAxisTitle="x axis";
        * ```
        */
        get: function () {
            return this.i.nt;
        },
        set: function (v) {
            this.i.nt = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitle="y axis";
        * ```
        */
        get: function () {
            return this.i.oy;
        },
        set: function (v) {
            this.i.oy = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisMinorStroke="green">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisExtent="250";
        * ```
        */
        get: function () {
            return brushToString(this.i.qe);
        },
        set: function (v) {
            this.i.qe = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisMinorStroke="green"
        *     yAxisMinorStrokeThickness="1">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisMinorStroke="green";
        * ```
        */
        get: function () {
            return brushToString(this.i.ql);
        },
        set: function (v) {
            this.i.ql = stringToBrush(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelAngle="45">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelAngle="45";
        * ```
        */
        get: function () {
            return this.i.lp;
        },
        set: function (v) {
            this.i.lp = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelAngle="45">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelAngle="25";
        * ```
        */
        get: function () {
            return this.i.l6;
        },
        set: function (v) {
            this.i.l6 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisExtent="250">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisExtent="250";
        * ```
        */
        get: function () {
            return this.i.lo;
        },
        set: function (v) {
            this.i.lo = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisExtent="250">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisExtent="250";
        * ```
        */
        get: function () {
            return this.i.l5;
        },
        set: function (v) {
            this.i.l5 = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleAngle="45">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleAngle="50";
        * ```
        */
        get: function () {
            return this.i.lz;
        },
        set: function (v) {
            this.i.lz = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleAngle="45">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleAngle="25";
        * ```
        */
        get: function () {
            return this.i.mg;
        },
        set: function (v) {
            this.i.mg = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisInverted="true">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.XAxisInverted="True";
        * ```
        */
        get: function () {
            return this.i.kk;
        },
        set: function (v) {
            this.i.kk = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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:
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisInverted="true"
        * >
        *
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisInverted="true";
        * ```
        *
        * The default value of `yAxisInverted` is false.
        */
        get: function () {
            return this.i.kl;
        },
        set: function (v) {
            this.i.kl = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisTitleAlignment", {
        /**
         * Gets or sets Horizontal alignment of the X-axis title.
        *
        * Set `xAxisTitleAlignment` to control the horizontal alignment of the x-axis title.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisTitle="x axis"
        *     xAxisTitleAlignment="right">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisTitleAlignment="right";
        * ```
        */
        get: function () {
            return this.i.ps;
        },
        set: function (v) {
            this.i.ps = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisTitleAlignment", {
        /**
         * Gets or sets Vertical alignment of the Y-axis title.
        *
        * Set `yAxisTitleAlignment` to control the vertical alignment of the x-axis title.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisTitle="y axis"
        *     yAxisTitleAlignment="bottom">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisTitleAlignment="bottom";
        * ```
        */
        get: function () {
            return this.i.qv;
        },
        set: function (v) {
            this.i.qv = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of X-axis labels.
        */
        get: function () {
            return this.i.pr;
        },
        set: function (v) {
            this.i.pr = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisLabelHorizontalAlignment", {
        /**
         * Gets or sets Horizontal alignment of Y-axis labels.
        *
        * Set the `yAxisLabelHorizontalAlignment` property to change the horizontal alignment of y-axis labels.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisExtent="250"
        *     yAxisLabelHorizontalAlignment="left">
        * </igx-category-chart>
        * ```
        */
        get: function () {
            return this.i.pt;
        },
        set: function (v) {
            this.i.pt = ensureEnum(HorizontalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of X-axis labels.
        *
        * Use the `xAxisLabelVerticalAlignment` property to change the vertical position of x-axis labels.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisExtent="250"
        *     xAxisLabelVerticalAlignment="bottom">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelVerticalAlignment="bottom";
        * ```
        */
        get: function () {
            return this.i.qt;
        },
        set: function (v) {
            this.i.qt = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisLabelVerticalAlignment", {
        /**
         * Gets or sets Vertical alignment of Y-axis labels.
        */
        get: function () {
            return this.i.qu;
        },
        set: function (v) {
            this.i.qu = ensureEnum(VerticalAlignment_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisLabelVisibility", {
        /**
         * Gets or sets Visibility of X-axis labels.
        *
        * To hide the x-axis labels, set `xAxisLabelVisibility` to collapsed.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     xAxisLabelVisibility="collapsed">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.xAxisLabelVisibility="collapsed";
        * ```
        */
        get: function () {
            return this.i.qy;
        },
        set: function (v) {
            this.i.qy = ensureEnum(Visibility_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisLabelVisibility", {
        /**
         * Gets or sets Visibility of Y-axis labels.
        *
        * To hide the y-axis labels, set `yAxisLabelVisibility` to collapsed.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelVisibility="collapsed">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelVisibility="collapsed"";
        * ```
        */
        get: function () {
            return this.i.qz;
        },
        set: function (v) {
            this.i.qz = ensureEnum(Visibility_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.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.
        *
        * ```html
        * <igx-category-chart
        *     [dataSource]="data"
        *     yAxisLabelLocation="outsideRight">
        * </igx-category-chart>
        * ```
        *
        * ```ts
        * this.chart.yAxisLabelLocation="outsideRight";
        * ```
        */
        get: function () {
            return this.i.kh;
        },
        set: function (v) {
            this.i.kh = ensureEnum(AxisLabelsLocation_$type, v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisLabelFormat", {
        /**
         * Gets or sets the format string for the X axis label.
        */
        get: function () {
            return this.i.m6;
        },
        set: function (v) {
            this.i.m6 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "xAxisLabelFormatSpecifiers", {
        /**
         * Gets or sets the format specifiers to use with the XAxisLabelFormat string.
        */
        get: function () {
            return this.i.j8;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.j8 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisLabelFormat", {
        /**
         * Gets or sets the format string for the Y axis label.
        */
        get: function () {
            return this.i.oa;
        },
        set: function (v) {
            this.i.oa = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgxXYChartComponent.prototype, "yAxisLabelFormatSpecifiers", {
        /**
         * Gets or sets the format specifiers to use with the YAxisLabelFormat string.
        */
        get: function () {
            return this.i.j9;
        },
        set: function (v) {
            if (v && !Array.isArray(v) && typeof (v) == "string") {
                var re = /\s*(?:,|\s|$)\s*/gm;
                v = v.split(re);
            }
            this.i.j9 = v;
        },
        enumerable: false,
        configurable: true
    });
    IgxXYChartComponent.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.
    */
    IgxXYChartComponent.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.
    */
    IgxXYChartComponent.prototype.getScaledValueX = function (unscaledValue) {
        var iv = this.i.lk(unscaledValue);
        return (iv);
    };
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    IgxXYChartComponent.prototype.getUnscaledValueX = function (scaledValue) {
        var iv = this.i.lm(scaledValue);
        return (iv);
    };
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The y-coordinate of the location to scale.
    */
    IgxXYChartComponent.prototype.getScaledValueY = function (unscaledValue) {
        var iv = this.i.ll(unscaledValue);
        return (iv);
    };
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    IgxXYChartComponent.prototype.getUnscaledValueY = function (scaledValue) {
        var iv = this.i.ln(scaledValue);
        return (iv);
    };
    IgxXYChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: IgxXYChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    IgxXYChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: IgxXYChartComponent, selector: "ng-component", inputs: { xAxisFormatLabel: "xAxisFormatLabel", yAxisFormatLabel: "yAxisFormatLabel", xAxisLabelLeftMargin: "xAxisLabelLeftMargin", xAxisLabelTopMargin: "xAxisLabelTopMargin", xAxisLabelRightMargin: "xAxisLabelRightMargin", xAxisLabelBottomMargin: "xAxisLabelBottomMargin", yAxisLabelLeftMargin: "yAxisLabelLeftMargin", yAxisLabelTopMargin: "yAxisLabelTopMargin", yAxisLabelRightMargin: "yAxisLabelRightMargin", yAxisLabelBottomMargin: "yAxisLabelBottomMargin", xAxisLabelTextColor: "xAxisLabelTextColor", yAxisLabelTextColor: "yAxisLabelTextColor", actualXAxisLabelTextColor: "actualXAxisLabelTextColor", actualYAxisLabelTextColor: "actualYAxisLabelTextColor", xAxisTitleMargin: "xAxisTitleMargin", yAxisTitleMargin: "yAxisTitleMargin", xAxisTitleLeftMargin: "xAxisTitleLeftMargin", yAxisTitleLeftMargin: "yAxisTitleLeftMargin", xAxisTitleTopMargin: "xAxisTitleTopMargin", yAxisTitleTopMargin: "yAxisTitleTopMargin", xAxisTitleRightMargin: "xAxisTitleRightMargin", yAxisTitleRightMargin: "yAxisTitleRightMargin", xAxisTitleBottomMargin: "xAxisTitleBottomMargin", yAxisTitleBottomMargin: "yAxisTitleBottomMargin", xAxisTitleTextColor: "xAxisTitleTextColor", yAxisTitleTextColor: "yAxisTitleTextColor", xAxisLabelTextStyle: "xAxisLabelTextStyle", yAxisLabelTextStyle: "yAxisLabelTextStyle", xAxisTitleTextStyle: "xAxisTitleTextStyle", yAxisTitleTextStyle: "yAxisTitleTextStyle", xAxisLabel: "xAxisLabel", yAxisLabel: "yAxisLabel", xAxisMajorStroke: "xAxisMajorStroke", yAxisMajorStroke: "yAxisMajorStroke", xAxisMajorStrokeThickness: "xAxisMajorStrokeThickness", yAxisMajorStrokeThickness: "yAxisMajorStrokeThickness", xAxisMinorStrokeThickness: "xAxisMinorStrokeThickness", yAxisMinorStrokeThickness: "yAxisMinorStrokeThickness", xAxisStrip: "xAxisStrip", yAxisStrip: "yAxisStrip", xAxisStroke: "xAxisStroke", yAxisStroke: "yAxisStroke", xAxisStrokeThickness: "xAxisStrokeThickness", yAxisStrokeThickness: "yAxisStrokeThickness", xAxisTickLength: "xAxisTickLength", yAxisTickLength: "yAxisTickLength", xAxisTickStroke: "xAxisTickStroke", yAxisTickStroke: "yAxisTickStroke", xAxisTickStrokeThickness: "xAxisTickStrokeThickness", yAxisTickStrokeThickness: "yAxisTickStrokeThickness", xAxisTitle: "xAxisTitle", yAxisTitle: "yAxisTitle", xAxisMinorStroke: "xAxisMinorStroke", yAxisMinorStroke: "yAxisMinorStroke", xAxisLabelAngle: "xAxisLabelAngle", yAxisLabelAngle: "yAxisLabelAngle", xAxisExtent: "xAxisExtent", yAxisExtent: "yAxisExtent", xAxisTitleAngle: "xAxisTitleAngle", yAxisTitleAngle: "yAxisTitleAngle", xAxisInverted: "xAxisInverted", yAxisInverted: "yAxisInverted", xAxisTitleAlignment: "xAxisTitleAlignment", yAxisTitleAlignment: "yAxisTitleAlignment", xAxisLabelHorizontalAlignment: "xAxisLabelHorizontalAlignment", yAxisLabelHorizontalAlignment: "yAxisLabelHorizontalAlignment", xAxisLabelVerticalAlignment: "xAxisLabelVerticalAlignment", yAxisLabelVerticalAlignment: "yAxisLabelVerticalAlignment", xAxisLabelVisibility: "xAxisLabelVisibility", yAxisLabelVisibility: "yAxisLabelVisibility", yAxisLabelLocation: "yAxisLabelLocation", xAxisLabelFormat: "xAxisLabelFormat", xAxisLabelFormatSpecifiers: "xAxisLabelFormatSpecifiers", yAxisLabelFormat: "yAxisLabelFormat", yAxisLabelFormatSpecifiers: "yAxisLabelFormatSpecifiers" }, usesInheritance: true, ngImport: i0, template: "", isInline: true });
    return IgxXYChartComponent;
}(IgxDomainChartComponent));
export { IgxXYChartComponent };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: IgxXYChartComponent, decorators: [{
            type: Component,
            args: [{
                    template: "",
                }]
        }], ctorParameters: function () { return []; }, propDecorators: { xAxisFormatLabel: [{
                type: Input
            }], yAxisFormatLabel: [{
                type: Input
            }], xAxisLabelLeftMargin: [{
                type: Input
            }], xAxisLabelTopMargin: [{
                type: Input
            }], xAxisLabelRightMargin: [{
                type: Input
            }], xAxisLabelBottomMargin: [{
                type: Input
            }], yAxisLabelLeftMargin: [{
                type: Input
            }], yAxisLabelTopMargin: [{
                type: Input
            }], yAxisLabelRightMargin: [{
                type: Input
            }], yAxisLabelBottomMargin: [{
                type: Input
            }], xAxisLabelTextColor: [{
                type: Input
            }], yAxisLabelTextColor: [{
                type: Input
            }], actualXAxisLabelTextColor: [{
                type: Input
            }], actualYAxisLabelTextColor: [{
                type: Input
            }], xAxisTitleMargin: [{
                type: Input
            }], yAxisTitleMargin: [{
                type: Input
            }], xAxisTitleLeftMargin: [{
                type: Input
            }], yAxisTitleLeftMargin: [{
                type: Input
            }], xAxisTitleTopMargin: [{
                type: Input
            }], yAxisTitleTopMargin: [{
                type: Input
            }], xAxisTitleRightMargin: [{
                type: Input
            }], yAxisTitleRightMargin: [{
                type: Input
            }], xAxisTitleBottomMargin: [{
                type: Input
            }], yAxisTitleBottomMargin: [{
                type: Input
            }], xAxisTitleTextColor: [{
                type: Input
            }], yAxisTitleTextColor: [{
                type: Input
            }], xAxisLabelTextStyle: [{
                type: Input
            }], yAxisLabelTextStyle: [{
                type: Input
            }], xAxisTitleTextStyle: [{
                type: Input
            }], yAxisTitleTextStyle: [{
                type: Input
            }], xAxisLabel: [{
                type: Input
            }], yAxisLabel: [{
                type: Input
            }], xAxisMajorStroke: [{
                type: Input
            }], yAxisMajorStroke: [{
                type: Input
            }], xAxisMajorStrokeThickness: [{
                type: Input
            }], yAxisMajorStrokeThickness: [{
                type: Input
            }], xAxisMinorStrokeThickness: [{
                type: Input
            }], yAxisMinorStrokeThickness: [{
                type: Input
            }], xAxisStrip: [{
                type: Input
            }], yAxisStrip: [{
                type: Input
            }], xAxisStroke: [{
                type: Input
            }], yAxisStroke: [{
                type: Input
            }], xAxisStrokeThickness: [{
                type: Input
            }], yAxisStrokeThickness: [{
                type: Input
            }], xAxisTickLength: [{
                type: Input
            }], yAxisTickLength: [{
                type: Input
            }], xAxisTickStroke: [{
                type: Input
            }], yAxisTickStroke: [{
                type: Input
            }], xAxisTickStrokeThickness: [{
                type: Input
            }], yAxisTickStrokeThickness: [{
                type: Input
            }], xAxisTitle: [{
                type: Input
            }], yAxisTitle: [{
                type: Input
            }], xAxisMinorStroke: [{
                type: Input
            }], yAxisMinorStroke: [{
                type: Input
            }], xAxisLabelAngle: [{
                type: Input
            }], yAxisLabelAngle: [{
                type: Input
            }], xAxisExtent: [{
                type: Input
            }], yAxisExtent: [{
                type: Input
            }], xAxisTitleAngle: [{
                type: Input
            }], yAxisTitleAngle: [{
                type: Input
            }], xAxisInverted: [{
                type: Input
            }], yAxisInverted: [{
                type: Input
            }], xAxisTitleAlignment: [{
                type: Input
            }], yAxisTitleAlignment: [{
                type: Input
            }], xAxisLabelHorizontalAlignment: [{
                type: Input
            }], yAxisLabelHorizontalAlignment: [{
                type: Input
            }], xAxisLabelVerticalAlignment: [{
                type: Input
            }], yAxisLabelVerticalAlignment: [{
                type: Input
            }], xAxisLabelVisibility: [{
                type: Input
            }], yAxisLabelVisibility: [{
                type: Input
            }], yAxisLabelLocation: [{
                type: Input
            }], xAxisLabelFormat: [{
                type: Input
            }], xAxisLabelFormatSpecifiers: [{
                type: Input
            }], yAxisLabelFormat: [{
                type: Input
            }], yAxisLabelFormatSpecifiers: [{
                type: Input
            }] } });
//# sourceMappingURL=igx-xy-chart-component.js.map
