import { HorizontalAlignment_$type } from "igniteui-react-core";
import { VerticalAlignment_$type } from "igniteui-react-core";
import { Visibility_$type } from "igniteui-react-core";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { IgrDomainChart } from "./igr-domain-chart";
import { brushToString, stringToBrush, ensureBool, ensureEnum, arrayFindByName } from "igniteui-react-core";
/**
 * Represents a base class for domain charts with X/Y axes
*/
export class IgrXYChart extends IgrDomainChart {
    constructor(props) {
        super(props);
    }
    /**
                                 * @hidden
                                 */
    get i() {
        return this._implementation;
    }
    /**
     * Gets or sets function which takes an context object and returns a formatted label for the X-axis.
    *
    * To customize the text of the x-axis label, set `xAxisFormatLabel` to a single-parameter function.  The argument passed to that function will be your data item.
    *
    * ```ts
    * formatX(item: any): string {
    *     return "[ " + item.label + "! ]";
    * }
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisFormatLabel="formatX"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisFormatLabel() {
        return this.i.jt;
    }
    set xAxisFormatLabel(v) {
        this.i.jt = v;
    }
    /**
     * Gets or sets function which takes a context object and returns a formatted label for the Y-axis.
    *
    * To customize the text of the y-axis label, set `yAxisFormatLabel` to a single-parameter function.  The argument passed to that function will be the numeric value corresponding to a position on the y-axis.
    *
    * ```ts
    * formatY(value: any): string {
    *     return "[ " + value+ "! ]";
    * }
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisFormatLabel="formatY"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisFormatLabel() {
        return this.i.ju;
    }
    set yAxisFormatLabel(v) {
        this.i.ju = v;
    }
    /**
     * Gets or sets the left margin of labels on the X-axis
    *
    * Use the `xAxisLabelLeftMargin` property to apply a margin left of the x-axis labels.
    *
    * ```ts
    * this.chart.xAxisLabelLeftMargin ="100";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisLabelLeftMargin={100}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelLeftMargin() {
        return this.i.k6;
    }
    set xAxisLabelLeftMargin(v) {
        this.i.k6 = +v;
    }
    /**
     * Gets or sets the top margin of labels on the X-axis
    *
    * Use the `xAxisLabelTopMargin` property to apply a margin above the x-axis labels.
    *
    * ```ts
    * this.chart.xAxisTitleTopMargin="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleTopMargin	={250}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelTopMargin() {
        return this.i.k8;
    }
    set xAxisLabelTopMargin(v) {
        this.i.k8 = +v;
    }
    /**
     * Gets or sets the right margin of labels on the X-axis
    *
    * Use the `xAxisLabelRightMargin` property to apply a margin right of the x-axis labels.
    *
    * ```ts
    * this.chart.xAxisLabelRightMargin="100";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisLabelRightMargin={250}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelRightMargin() {
        return this.i.k7;
    }
    set xAxisLabelRightMargin(v) {
        this.i.k7 = +v;
    }
    /**
     * Gets or sets the bottom margin of labels on the X-axis
    *
    * Use the `xAxisLabelBottomMargin` property to apply a margin below the x-axis labels.
    *
    * ```ts
    * this.chart.xAxisLabelBottomMargin ="100";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisLabelBottomMargin={100}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelBottomMargin() {
        return this.i.k5;
    }
    set xAxisLabelBottomMargin(v) {
        this.i.k5 = +v;
    }
    /**
     * Gets or sets the left margin of labels on the Y-axis
    *
    * Use the `yAxisLabelLeftMargin` property to apply a margin left of the y-axis labels.
    *
    * ```ts
    * this.chart. yAxisLabelLeftMargin="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 yAxisLabelLeftMargin={250}
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelLeftMargin() {
        return this.i.ln;
    }
    set yAxisLabelLeftMargin(v) {
        this.i.ln = +v;
    }
    /**
     * Gets or sets the top margin of labels on the Y-axis
    *
    * Use the `yAxisLabelTopMargin` property to apply a margin above the y-axis labels.
    *
    * ```ts
    * this.chart.yAxisLabelTopMargin="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelTopMargin	={250}
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelTopMargin() {
        return this.i.lp;
    }
    set yAxisLabelTopMargin(v) {
        this.i.lp = +v;
    }
    /**
     * Gets or sets the right margin of labels on the Y-axis
    *
    * Use the `yAxisLabelRightMargin` property to apply a margin right of the y-axis labels.
    *
    * ```ts
    * this.chart.yAxisLabelRightMargin="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelRightMargin={250}
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelRightMargin() {
        return this.i.lo;
    }
    set yAxisLabelRightMargin(v) {
        this.i.lo = +v;
    }
    /**
     * Gets or sets the bottom margin of labels on the Y-axis
    *
    * Use the `yAxisLabelBottomMargin` property to apply a margin below the y-axis labels.
    *
    * ```ts
    * this.chart.yAxisLabelBottomMargin="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelBottomMargin={250}
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelBottomMargin() {
        return this.i.lm;
    }
    set yAxisLabelBottomMargin(v) {
        this.i.lm = +v;
    }
    /**
     * Gets or sets color of labels on the X-axis
    *
    * To change the color of x-axis labels, set the `xAxisLabelTextColor` property to a color string.
    *
    * ```ts
    * this.chart.xAxisLabelTextColor="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisLabelTextColor="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelTextColor() {
        return brushToString(this.i.pl);
    }
    set xAxisLabelTextColor(v) {
        this.i.pl = stringToBrush(v);
    }
    /**
     * Gets or sets color of labels on the Y-axis
    *
    * To change the color of y-axis labels, set the `yAxisLabelTextColor` property to a color string.
    *
    * ```ts
    * this.chart.yAxisLabelTextColor="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelTextColor="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelTextColor() {
        return brushToString(this.i.ps);
    }
    set yAxisLabelTextColor(v) {
        this.i.ps = stringToBrush(v);
    }
    /**
     * 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 xAxisTitleMargin() {
        return this.i.lh;
    }
    set xAxisTitleMargin(v) {
        this.i.lh = +v;
    }
    /**
     * 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 yAxisTitleMargin() {
        return this.i.ly;
    }
    set yAxisTitleMargin(v) {
        this.i.ly = +v;
    }
    /**
     * Gets or sets the left margin of a title on the X-axis
    *
    * Use the `xAxisTitleLeftMargin` property to apply a margin left of the x-axis title.
    *
    * ```ts
    * this.chart.xAxisTitleLeftMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleLeftMargin={150}
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleLeftMargin() {
        return this.i.lg;
    }
    set xAxisTitleLeftMargin(v) {
        this.i.lg = +v;
    }
    /**
     * Gets or sets the left margin of a title on the Y-axis
    *
    * Use the `yAxisTitleLeftMargin` property to apply a margin left of the y-axis title.
    *
    * ```ts
    * this.chart.yAxisTitleLeftMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleLeftMargin={150}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleLeftMargin() {
        return this.i.lx;
    }
    set yAxisTitleLeftMargin(v) {
        this.i.lx = +v;
    }
    /**
     * Gets or sets the top margin of a title on the X-axis
    *
    * Use the `xAxisTitleTopMargin` property to apply a margin above the x-axis title.
    *
    * ```ts
    * this.chart.xAxisTitleTopMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleTopMargin	={150}
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleTopMargin() {
        return this.i.lj;
    }
    set xAxisTitleTopMargin(v) {
        this.i.lj = +v;
    }
    /**
     * Gets or sets the top margin of a title on the Y-axis
    *
    * Use the `yAxisTitleTopMargin` property to apply a margin above the y-axis title.
    *
    * ```ts
    * this.chart.yAxisTitleTopMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleTopMargin	={150}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleTopMargin() {
        return this.i.l0;
    }
    set yAxisTitleTopMargin(v) {
        this.i.l0 = +v;
    }
    /**
     * Gets or sets the right margin of a title on the X-axis
    *
    * Use the `xAxisTitleRightMargin` property to apply a margin right of the x-axis title.
    *
    * ```ts
    * this.chart.xAxisTitleRightMargin="100";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleRightMargin="100"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleRightMargin() {
        return this.i.li;
    }
    set xAxisTitleRightMargin(v) {
        this.i.li = +v;
    }
    /**
     * Gets or sets the right margin of a title on the Y-axis
    *
    * Use the `yAxisTitleRightMargin` property to apply a margin right of the y-axis title.
    *
    * ```ts
    * this.chart.yAxisTitleRightMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleRightMargin={150}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleRightMargin() {
        return this.i.lz;
    }
    set yAxisTitleRightMargin(v) {
        this.i.lz = +v;
    }
    /**
     * Gets or sets the bottom margin of a title on the X-axis
    *
    * Use the `xAxisTitleBottomMargin` property to apply a margin below the x-axis title.
    *
    * ```ts
    * this.chart.xAxisTitleBottomMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleBottomMargin={250}
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleBottomMargin() {
        return this.i.lf;
    }
    set xAxisTitleBottomMargin(v) {
        this.i.lf = +v;
    }
    /**
     * Gets or sets the bottom margin of a title on the Y-axis
    *
    * Use the `yAxisTitleBottomMargin` property to apply a margin below the y-axis title.
    *
    * ```ts
    * this.chart.yAxisTitleBottomMargin="150";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleBottomMargin	={150}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleBottomMargin() {
        return this.i.lw;
    }
    set yAxisTitleBottomMargin(v) {
        this.i.lw = +v;
    }
    /**
     * Gets or sets color of title on the X-axis
    *
    * To change the color of the x-axis title, set the `xAxisTitleTextColor` property to a color string.
    *
    * ```ts
    * this.chart.xAxisTitleTextColor="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisTitleTextColor="green"
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleTextColor() {
        return brushToString(this.i.pr);
    }
    set xAxisTitleTextColor(v) {
        this.i.pr = stringToBrush(v);
    }
    /**
     * Gets or sets color of title on the Y-axis
    *
    * To change the color of the y-axis title, set the `yAxisTitleTextColor` property to a color string.
    *
    * ```ts
    * this.chart.yAxisTitleTextColor="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleTextColor="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleTextColor() {
        return brushToString(this.i.py);
    }
    set yAxisTitleTextColor(v) {
        this.i.py = stringToBrush(v);
    }
    /**
     * Gets or sets CSS font property for labels on X-axis
    *
    * To change the font of x-axis labels, set the `xAxisLabelTextStyle` property.
    *
    * ```ts
    * this.chart.xAxisLabelTextStyle="italic 15px arial, sans-serif";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisLabelTextStyle="italic 15px arial, sans-serif"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelTextStyle() {
        return this.i.mr;
    }
    set xAxisLabelTextStyle(v) {
        this.i.mr = v;
    }
    /**
     * Gets or sets CSS font property for labels on Y-axis
    *
    * To change the font of x-axis labels, set the `yAxisLabelTextStyle` property.
    *
    * ```ts
    * this.chart. yAxisLabelTextStyle="italic 15px arial, sans-serif";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 yAxisLabelTextStyle="italic 15px arial, sans-serif"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelTextStyle() {
        return this.i.nw;
    }
    set yAxisLabelTextStyle(v) {
        this.i.nw = v;
    }
    /**
     * Gets or sets CSS font property for title on X-axis
    *
    * To change the font of the x-axis title, set the `xAxisTitleTextStyle` property.
    *
    * ```ts
    * this.chart.xAxisTitleTextStyle="italic 15px arial, sans-serif";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleTextStyle="italic 15px arial, sans-serif"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleTextStyle() {
        return this.i.nf;
    }
    set xAxisTitleTextStyle(v) {
        this.i.nf = v;
    }
    /**
     * Gets or sets CSS font property for title on Y-axis
    *
    * To change the font of the x-axis title, set the `yAxisTitleTextStyle` property.
    *
    * ```ts
    * this.chart.yAxisTitleTextStyle="italic 15px arial, sans-serif";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleTextStyle="italic 15px arial, sans-serif"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleTextStyle() {
        return this.i.ok;
    }
    set yAxisTitleTextStyle(v) {
        this.i.ok = v;
    }
    /**
     * Gets or sets the format for labels along the X-axis.
    */
    get xAxisLabel() {
        return this.i.l3;
    }
    set xAxisLabel(v) {
        this.i.l3 = v;
    }
    /**
     * Gets or sets the property or string from which the labels are derived.
    */
    get yAxisLabel() {
        return this.i.l4;
    }
    set yAxisLabel(v) {
        this.i.l4 = v;
    }
    /**
     * Gets or sets the color to apply to major gridlines along the X-axis.
    *
    * Set `xAxisMajorStroke` to control the color of major gridlines extending vertically from the x-axis.
    *
    * ```ts
    * this.chart.xAxisMajorStroke="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisMajorStroke="green"
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisMajorStroke() {
        return brushToString(this.i.pm);
    }
    set xAxisMajorStroke(v) {
        this.i.pm = stringToBrush(v);
    }
    /**
     * Gets or sets the color to apply to major gridlines along the Y-axis.
    *
    * Set `yAxisMajorStroke` to control the color of major gridlines extending horizontally from the y-axis.
    *
    * ```ts
    * this.chart.yAxisMajorStroke="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    *     yAxisMajorStroke="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisMajorStroke() {
        return brushToString(this.i.pt);
    }
    set yAxisMajorStroke(v) {
        this.i.pt = stringToBrush(v);
    }
    /**
     * Gets or sets the thickness to apply to major gridlines along the X-axis.
    *
    * Set `xAxisMajorStrokeThickness` to control the thickness of major gridlines extending vertically from the x-axis.
    *
    * ```ts
    * this.chart.xAxisMajorStrokeThickness="3" ;
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisMajorStrokeThickness="3"
    * 	xAxisExtent	={250}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisMajorStrokeThickness() {
        return this.i.k9;
    }
    set xAxisMajorStrokeThickness(v) {
        this.i.k9 = +v;
    }
    /**
     * Gets or sets the thickness to apply to major gridlines along the Y-axis.
    *
    * Set `yAxisMajorStrokeThickness` to control the thickness of major gridlines extending horizontally from the y-axis.
    *
    * ```ts
    * this.chart.yAxisMajorStrokeThickness="2";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisMajorStrokeThickness={2}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisMajorStrokeThickness() {
        return this.i.lq;
    }
    set yAxisMajorStrokeThickness(v) {
        this.i.lq = +v;
    }
    /**
     * Gets or sets the thickness to apply to minor gridlines along the X-axis.
    *
    * Set `xAxisMinorStrokeThickness` to control the thickness of minor gridlines extending vertically from the x-axis.
    *
    * ```ts
    * this.chart.xAxisMinorStrokeThickness="3";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisMinorStrokeThickness="3"
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisMinorStrokeThickness() {
        return this.i.la;
    }
    set xAxisMinorStrokeThickness(v) {
        this.i.la = +v;
    }
    /**
     * Gets or sets the thickness to apply to minor gridlines along the Y-axis.
    *
    * Set `yAxisMinorStrokeThickness` to control the thickness of minor gridlines extending horizontally from the y-axis.
    *
    * ```ts
    * this.chart.yAxisMinorStrokeThickness="3";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisMinorStrokeThickness={3}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisMinorStrokeThickness() {
        return this.i.lr;
    }
    set yAxisMinorStrokeThickness(v) {
        this.i.lr = +v;
    }
    /**
     * Gets or sets the color to apply to stripes along the X-axis.
    *
    * Set `xAxisStrip` to control the alternating color of stripes extending vertically from the x-axis.
    *
    * ```ts
    * this.chart.xAxisStrip="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisStrip="green"
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisStrip() {
        return brushToString(this.i.po);
    }
    set xAxisStrip(v) {
        this.i.po = stringToBrush(v);
    }
    /**
     * Gets or sets the color to apply to stripes along the Y-axis.
    *
    * Set `yAxisStrip` to control the alternating color of stripes extending horizontally from the y-axis.
    *
    * ```ts
    * this.chart.yAxisStrip="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisStrip="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisStrip() {
        return brushToString(this.i.pv);
    }
    set yAxisStrip(v) {
        this.i.pv = stringToBrush(v);
    }
    /**
     * Gets or sets the color to apply to the X-axis line.
    *
    * Set `xAxisStroke` to control the color of the x-axis line.
    *
    * ```ts
    * this.chart.xAxisStroke="green"";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisStroke="green"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisStroke() {
        return brushToString(this.i.pp);
    }
    set xAxisStroke(v) {
        this.i.pp = stringToBrush(v);
    }
    /**
     * Gets or sets the color to apply to the Y-axis line.
    *
    * Set `yAxisStroke` to control the color of the y-axis line.
    *
    * ```ts
    * this.chart.yAxisStroke="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisStroke="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisStroke() {
        return brushToString(this.i.pw);
    }
    set yAxisStroke(v) {
        this.i.pw = stringToBrush(v);
    }
    /**
     * Gets or sets the thickness to apply to the X-axis line.
    *
    * Set `xAxisStrokeThickness` to control the thickness of the x-axis line.
    *
    * ```ts
    * this.chart.xAxisStrokeThickness="2";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisStrokeThickness={2}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisStrokeThickness() {
        return this.i.lb;
    }
    set xAxisStrokeThickness(v) {
        this.i.lb = +v;
    }
    /**
     * Gets or sets the thickness to apply to the Y-axis line.
    *
    * Set `yAxisStrokeThickness` to control the thickness of the y-axis line.
    *
    * ```ts
    * this.chart. yAxisStrokeThickness="2";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 yAxisStrokeThickness={2}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisStrokeThickness() {
        return this.i.ls;
    }
    set yAxisStrokeThickness(v) {
        this.i.ls = +v;
    }
    /**
     * Gets or sets the length of tickmarks along the X-axis.
    *
    * Set `xAxisTickLength` to control the length of tickmarks extending vertically from the x-axis line.
    *
    * ```ts
    * this.chart.xAxisTickLength="25";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTickLength	={25}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTickLength() {
        return this.i.lc;
    }
    set xAxisTickLength(v) {
        this.i.lc = +v;
    }
    /**
     * Gets or sets the length of tickmarks along the Y-axis.
    *
    * Set `yAxisTickLength` to control the length of tickmarks extending horizontally from the y-axis line.
    *
    * ```ts
    * this.chart.yAxisTickLength="25";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTickLength	={25}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTickLength() {
        return this.i.lt;
    }
    set yAxisTickLength(v) {
        this.i.lt = +v;
    }
    /**
     * Gets or sets the color to apply to tickmarks along the X-axis.
    *
    * Set `xAxisTickStroke` to control the color of tickmarks extending vertically from the x-axis line.
    *
    * ```ts
    * this.chart. xAxisTickStroke="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisTickStroke="green"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTickStroke() {
        return brushToString(this.i.pq);
    }
    set xAxisTickStroke(v) {
        this.i.pq = stringToBrush(v);
    }
    /**
     * Gets or sets the color to apply to tickmarks along the Y-axis.
    *
    * Set `yAxisTickStroke` to control the color of tickmarks extending horizontally from the y-axis line.
    *
    * ```ts
    * this.chart.yAxisTickStroke="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTickStroke="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTickStroke() {
        return brushToString(this.i.px);
    }
    set yAxisTickStroke(v) {
        this.i.px = stringToBrush(v);
    }
    /**
     * Gets or sets the thickness to apply to tickmarks along the X-axis.
    *
    * Set `xAxisTickStrokeThickness` to control the thickness of tickmarks extending vertically from the x-axis line.
    *
    * ```ts
    * this.chart.xAxisTickStrokeThickness="20";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTickStrokeThickness={20}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTickStrokeThickness() {
        return this.i.ld;
    }
    set xAxisTickStrokeThickness(v) {
        this.i.ld = +v;
    }
    /**
     * Gets or sets the thickness to apply to tickmarks along the Y-axis.
    *
    * Set `yAxisTickStrokeThickness` to control the thickness of tickmarks extending vertically from the y-axis line.
    *
    * ```ts
    * this.chart.yAxisTickStrokeThickness="25";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTickStrokeThickness	={25}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTickStrokeThickness() {
        return this.i.lu;
    }
    set yAxisTickStrokeThickness(v) {
        this.i.lu = +v;
    }
    /**
     * Gets or sets the Text to display below the X-axis.
    *
    * Set `xAxisTitle` to display a label adjacent to the x-axis.
    *
    * ```ts
    * this.chart. xAxisTitle="x axis";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitle="x axis"
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitle() {
        return this.i.m6;
    }
    set xAxisTitle(v) {
        this.i.m6 = v;
    }
    /**
     * Gets or sets the Text to display to the left of the Y-axis.
    *
    * Set `yAxisTitle` to display a label adjacent to the y-axis.
    *
    * ```ts
    * this.chart.yAxisTitle="y axis";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitle="y axis"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitle() {
        return this.i.ob;
    }
    set yAxisTitle(v) {
        this.i.ob = v;
    }
    /**
     * Gets or sets the color to apply to minor gridlines along the X-axis.
    *
    * Set `xAxisMinorStroke` to control the color of minor gridlines extending vertically from the x-axis.
    *
    * ```ts
    * this.chart.xAxisExtent="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisMinorStroke="green"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisMinorStroke() {
        return brushToString(this.i.pn);
    }
    set xAxisMinorStroke(v) {
        this.i.pn = stringToBrush(v);
    }
    /**
     * Gets or sets the color to apply to minor gridlines along the Y-axis.
    *
    * Set `yAxisMinorStroke` to control the color of minor gridlines extending horizontally from the y-axis.
    *
    * ```ts
    * this.chart.yAxisMinorStroke="green";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisMinorStroke="green"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisMinorStroke() {
        return brushToString(this.i.pu);
    }
    set yAxisMinorStroke(v) {
        this.i.pu = stringToBrush(v);
    }
    /**
     * Gets or sets the angle of rotation for labels along the X-axis.
    *
    * To control the rotation of labels on the x-axis, set the `xAxisLabelAngle` property to a number of rotational degrees.
    *
    * ```ts
    * this.chart.xAxisLabelAngle="45";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisLabelAngle={45}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelAngle() {
        return this.i.k4;
    }
    set xAxisLabelAngle(v) {
        this.i.k4 = +v;
    }
    /**
     * Gets or sets the angle of rotation for labels along the Y-axis.
    *
    * To control the rotation of labels on the y-axis, set the `yAxisLabelAngle` property to a number of rotational degrees.
    *
    * ```ts
    * this.chart.yAxisLabelAngle="25";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelAngle	={25}
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelAngle() {
        return this.i.ll;
    }
    set yAxisLabelAngle(v) {
        this.i.ll = +v;
    }
    /**
     * Gets or sets the distance between the X-axis and the bottom of the chart.
    *
    * To allocate space between the x-axis and the edge of the chart, set the `xAxisExtent` property.
    *
    * ```ts
    * this.chart.xAxisExtent="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisExtent	={250}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisExtent() {
        return this.i.k3;
    }
    set xAxisExtent(v) {
        this.i.k3 = +v;
    }
    /**
     * Gets or sets the distance between the Y-axis and the left edge of the chart.
    *
    * To allocate space between the x-axis and the edge of the chart, set the `xAxisExtent` property.
    *
    * ```ts
    * this.chart.xAxisExtent="250";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisExtent	={250}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisExtent() {
        return this.i.lk;
    }
    set yAxisExtent(v) {
        this.i.lk = +v;
    }
    /**
     * Gets or sets the angle of rotation for the X-axis title.
    *
    * Set `xAxisTitleAngle` to control the rotation of the x-axis title.
    *
    * ```ts
    * this.chart.xAxisTitleAngle="50";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisTitleAngle	={50}
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleAngle() {
        return this.i.le;
    }
    set xAxisTitleAngle(v) {
        this.i.le = +v;
    }
    /**
     * Gets or sets the angle of rotation for the Y-axis title.
    *
    * Set `yAxisTitleAngle` to control the rotation of the y-axis title.
    *
    * ```ts
    * this.chart.yAxisTitleAngle="25";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleAngle	={24}
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleAngle() {
        return this.i.lv;
    }
    set yAxisTitleAngle(v) {
        this.i.lv = +v;
    }
    /**
     * Gets or sets whether to invert the direction of the X-axis by placing the first data items on the right side of the chart.
    *
    * To reverse the direction of items along the x-axis, set the `xAxisInverted` property to true.
    *
    * ```ts
    * this.chart.XAxisInverted="True";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	XAxisInverted="True"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisInverted() {
        return this.i.jz;
    }
    set xAxisInverted(v) {
        this.i.jz = ensureBool(v);
    }
    /**
     * Gets or sets whether to invert the direction of the Y-axis by placing the minimum numeric value at the top of the chart.
    *
    * You can use `yAxisInverted` to invert the scale of the y axis like this:
    *
    * ```ts
    * this.chart.yAxisInverted="true";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 yAxisInverted="true"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    *
    * The default value of `yAxisInverted` is false.
    */
    get yAxisInverted() {
        return this.i.j0;
    }
    set yAxisInverted(v) {
        this.i.j0 = ensureBool(v);
    }
    /**
     * Gets or sets Horizontal alignment of the X-axis title.
    *
    * Set `xAxisTitleAlignment` to control the horizontal alignment of the x-axis title.
    *
    * ```ts
    * this.chart.xAxisTitleAlignment="right";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisTitleAlignment="right"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisTitleAlignment() {
        return this.i.o5;
    }
    set xAxisTitleAlignment(v) {
        this.i.o5 = ensureEnum(HorizontalAlignment_$type, v);
    }
    /**
     * Gets or sets Vertical alignment of the Y-axis title.
    *
    * Set `yAxisTitleAlignment` to control the vertical alignment of the x-axis title.
    *
    * ```ts
    * this.chart.yAxisTitleAlignment="bottom";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisTitleAlignment="bottom"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisTitleAlignment() {
        return this.i.p4;
    }
    set yAxisTitleAlignment(v) {
        this.i.p4 = ensureEnum(VerticalAlignment_$type, v);
    }
    /**
     * Gets or sets Horizontal alignment of X-axis labels.
    */
    get xAxisLabelHorizontalAlignment() {
        return this.i.o4;
    }
    set xAxisLabelHorizontalAlignment(v) {
        this.i.o4 = ensureEnum(HorizontalAlignment_$type, v);
    }
    /**
     * Gets or sets Horizontal alignment of Y-axis labels.
    *
    * Set the `yAxisLabelHorizontalAlignment` property to change the horizontal alignment of y-axis labels.
    */
    get yAxisLabelHorizontalAlignment() {
        return this.i.o6;
    }
    set yAxisLabelHorizontalAlignment(v) {
        this.i.o6 = ensureEnum(HorizontalAlignment_$type, v);
    }
    /**
     * Gets or sets Vertical alignment of X-axis labels.
    *
    * Use the `xAxisLabelVerticalAlignment` property to change the vertical position of x-axis labels.
    *
    * ```ts
    * this.chart.xAxisLabelVerticalAlignment="bottom";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	xAxisLabelVerticalAlignment="bottom"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelVerticalAlignment() {
        return this.i.p2;
    }
    set xAxisLabelVerticalAlignment(v) {
        this.i.p2 = ensureEnum(VerticalAlignment_$type, v);
    }
    /**
     * Gets or sets Vertical alignment of Y-axis labels.
    */
    get yAxisLabelVerticalAlignment() {
        return this.i.p3;
    }
    set yAxisLabelVerticalAlignment(v) {
        this.i.p3 = ensureEnum(VerticalAlignment_$type, v);
    }
    /**
     * Gets or sets Visibility of X-axis labels.
    *
    * To hide the x-axis labels, set `xAxisLabelVisibility` to collapsed.
    *
    * ```ts
    * this.chart.xAxisLabelVisibility="collapsed";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	 xAxisLabelVisibility="collapsed"
    * 	dataSource={this.state.data}>
    * </IgrCategoryChart>
    * ```
    */
    get xAxisLabelVisibility() {
        return this.i.p7;
    }
    set xAxisLabelVisibility(v) {
        this.i.p7 = ensureEnum(Visibility_$type, v);
    }
    /**
     * Gets or sets Visibility of Y-axis labels.
    *
    * To hide the y-axis labels, set `yAxisLabelVisibility` to collapsed.
    *
    * ```ts
    * this.chart.yAxisLabelVisibility="collapsed"";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelVisibility="collapsed"
    * 	dataSource={this.state.data}
    * 	chartType="stepArea" >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelVisibility() {
        return this.i.p8;
    }
    set yAxisLabelVisibility(v) {
        this.i.p8 = ensureEnum(Visibility_$type, v);
    }
    /**
     * 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.
    *
    * ```ts
    * this.chart.yAxisLabelLocation="outsideRight";
    * ```
    *
    * ```ts
    * <IgrCategoryChart
    * 	yAxisLabelLocation="outsideRight"
    * 	dataSource={this.state.data} >
    * </IgrCategoryChart>
    * ```
    */
    get yAxisLabelLocation() {
        return this.i.jw;
    }
    set yAxisLabelLocation(v) {
        this.i.jw = ensureEnum(AxisLabelsLocation_$type, v);
    }
    /**
     * Gets or sets the format string for the X axis label.
    */
    get xAxisLabelFormat() {
        return this.i.mj;
    }
    set xAxisLabelFormat(v) {
        this.i.mj = v;
    }
    /**
     * Gets or sets the format specifiers to use with the XAxisLabelFormat string.
    */
    get xAxisLabelFormatSpecifiers() {
        return this.i.jn;
    }
    set xAxisLabelFormatSpecifiers(v) {
        this.i.jn = v;
    }
    /**
     * Gets or sets the format string for the Y axis label.
    */
    get yAxisLabelFormat() {
        return this.i.nn;
    }
    set yAxisLabelFormat(v) {
        this.i.nn = v;
    }
    /**
     * Gets or sets the format specifiers to use with the YAxisLabelFormat string.
    */
    get yAxisLabelFormatSpecifiers() {
        return this.i.jo;
    }
    set yAxisLabelFormatSpecifiers(v) {
        this.i.jo = v;
    }
    findByName(name) {
        var baseResult = super.findByName(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.
    */
    provideContainer(container) {
        this.i.provideContainer(container);
    }
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The x-coordinate of the location to scale.
    */
    getScaledValueX(unscaledValue) {
        let iv = this.i.kz(unscaledValue);
        return (iv);
    }
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    getUnscaledValueX(scaledValue) {
        let iv = this.i.k1(scaledValue);
        return (iv);
    }
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The y-coordinate of the location to scale.
    */
    getScaledValueY(unscaledValue) {
        let iv = this.i.k0(unscaledValue);
        return (iv);
    }
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    getUnscaledValueY(scaledValue) {
        let iv = this.i.k2(scaledValue);
        return (iv);
    }
}
//# sourceMappingURL=igr-xy-chart.js.map
