/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import * as tslib_1 from "tslib";
import { DomainChart } from "./DomainChart";
import { HorizontalAlignment_$type } from "igniteui-react-core/ES5/HorizontalAlignment";
import { VerticalAlignment_$type } from "igniteui-react-core/ES5/VerticalAlignment";
import { Visibility_$type } from "igniteui-react-core/ES5/Visibility";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { fromEnum, enumGetBox, markType } from "igniteui-react-core/ES5/type";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
var XYChart = /** @class */ (function (_super) {
    tslib_1.__extends(XYChart, _super);
    function XYChart() {
        var _this = _super.call(this) || this;
        _this.gm = null;
        _this.gn = null;
        _this.gz = 0;
        _this.g1 = 5;
        _this.g0 = 0;
        _this.gy = 5;
        _this.hg = 5;
        _this.hi = 0;
        _this.hh = 5;
        _this.hf = 0;
        _this.lw = null;
        _this.l3 = null;
        _this.ha = 0;
        _this.hr = 0;
        _this.g9 = NaN;
        _this.hq = NaN;
        _this.hc = NaN;
        _this.ht = NaN;
        _this.hb = NaN;
        _this.hs = NaN;
        _this.g8 = NaN;
        _this.hp = NaN;
        _this.l2 = null;
        _this.l9 = null;
        _this.i2 = null;
        _this.i5 = null;
        _this.i4 = null;
        _this.i7 = null;
        _this.iy = null;
        _this.iz = null;
        _this.lx = null;
        _this.l4 = null;
        _this.g2 = 1;
        _this.hj = 1;
        _this.g3 = 1;
        _this.hk = 0;
        _this.lz = null;
        _this.l6 = null;
        _this.l0 = null;
        _this.l7 = null;
        _this.g4 = 1;
        _this.hl = 1;
        _this.g5 = 5;
        _this.hm = 0;
        _this.l1 = null;
        _this.l8 = null;
        _this.g6 = 2;
        _this.hn = 2;
        _this.i3 = null;
        _this.i6 = null;
        _this.ly = null;
        _this.l5 = null;
        _this.gx = 0;
        _this.he = 0;
        _this.gw = NaN;
        _this.hd = NaN;
        _this.g7 = 0;
        _this.ho = -90;
        _this.gs = false;
        _this.gt = false;
        _this.lr = 1;
        _this.mq = 1;
        _this.lq = 1;
        _this.ls = 2;
        _this.mo = 0;
        _this.mp = 1;
        _this.mu = 0;
        _this.mv = 0;
        _this.gq = 2;
        return _this;
    }
    XYChart.prototype.provideContainer = function (a) {
        if (a != null) {
            var b = this.gk();
            var c = this.gl();
            if (b != null) {
                b.provideRenderer(a);
            }
            if (c != null) {
                c.provideRenderer(a);
            }
        }
        _super.prototype.provideContainer.call(this, a);
    };
    XYChart.prototype.e1 = function () {
        _super.prototype.e1.call(this);
        var a = this.gk();
        var b = this.gl();
        if (a != null && a.aw != null) {
            this.ma = a.aw.textColor;
        }
        if (b != null && b.aw != null) {
            this.mh = b.aw.textColor;
        }
    };
    XYChart.prototype.fk = function (a, b, c) {
        var _this = this;
        _super.prototype.fk.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelLeftMargin":
                this.lk(function (d) { return d.leftMargin = _this.h1; });
                break;
            case "XAxisLabelTopMargin":
                this.lk(function (d) { return d.topMargin = _this.h3; });
                break;
            case "XAxisLabelRightMargin":
                this.lk(function (d) { return d.rightMargin = _this.h2; });
                break;
            case "XAxisLabelBottomMargin":
                this.lk(function (d) { return d.bottomMargin = _this.h0; });
                break;
            case "YAxisLabelLeftMargin":
                this.lo(function (d) { return d.leftMargin = _this.ij; });
                break;
            case "YAxisLabelTopMargin":
                this.lo(function (d) { return d.topMargin = _this.il; });
                break;
            case "YAxisLabelRightMargin":
                this.lo(function (d) { return d.rightMargin = _this.ik; });
                break;
            case "YAxisLabelBottomMargin":
                this.lo(function (d) { return d.bottomMargin = _this.ii; });
                break;
            case "XAxisLabelTextColor":
                this.lk(function (d) { return d.textColor = _this.ma; });
                break;
            case "YAxisLabelTextColor":
                this.lo(function (d) { return d.textColor = _this.mh; });
                break;
            case "XAxisTitleMargin":
                this.ll(function (d) { return d.margin = _this.ic; });
                break;
            case "YAxisTitleMargin":
                this.lp(function (d) { return d.margin = _this.iv; });
                break;
            case "XAxisTitleLeftMargin":
                this.ll(function (d) { return d.leftMargin = _this.ib; });
                break;
            case "YAxisTitleLeftMargin":
                this.lp(function (d) { return d.leftMargin = _this.iu; });
                break;
            case "XAxisTitleTopMargin":
                this.ll(function (d) { return d.topMargin = _this.ie; });
                break;
            case "YAxisTitleTopMargin":
                this.lp(function (d) { return d.topMargin = _this.ix; });
                break;
            case "XAxisTitleRightMargin":
                this.ll(function (d) { return d.rightMargin = _this.id; });
                break;
            case "YAxisTitleRightMargin":
                this.lp(function (d) { return d.rightMargin = _this.iw; });
                break;
            case "XAxisTitleBottomMargin":
                this.ll(function (d) { return d.bottomMargin = _this.ia; });
                break;
            case "YAxisTitleBottomMargin":
                this.lp(function (d) { return d.bottomMargin = _this.it; });
                break;
            case "XAxisTitleTextColor":
                this.ll(function (d) { return d.textColor = _this.mg; });
                break;
            case "YAxisTitleTextColor":
                this.lp(function (d) { return d.textColor = _this.mn; });
                break;
            case "XAxisFormatLabel":
                this.li(function (d) { return d.ar = _this.go; });
                break;
            case "YAxisFormatLabel":
                this.lm(function (d) { return d.ar = _this.gp; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "go", {
        get: function () {
            return this.gm;
        },
        set: function (a) {
            var b = this.go;
            if (a != b) {
                this.gm = a;
                this.fj("XAxisFormatLabel", b, this.go);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "gp", {
        get: function () {
            return this.gn;
        },
        set: function (a) {
            var b = this.gp;
            if (a != b) {
                this.gn = a;
                this.fj("YAxisFormatLabel", b, this.gp);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h1", {
        get: function () {
            return this.gz;
        },
        set: function (a) {
            var b = this.h1;
            if (a != b) {
                this.gz = a;
                this.fj("XAxisLabelLeftMargin", b, this.h1);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h3", {
        get: function () {
            return this.g1;
        },
        set: function (a) {
            var b = this.h3;
            if (a != b) {
                this.g1 = a;
                this.fj("XAxisLabelTopMargin", b, this.h3);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h2", {
        get: function () {
            return this.g0;
        },
        set: function (a) {
            var b = this.h2;
            if (a != b) {
                this.g0 = a;
                this.fj("XAxisLabelRightMargin", b, this.h2);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h0", {
        get: function () {
            return this.gy;
        },
        set: function (a) {
            var b = this.h0;
            if (a != b) {
                this.gy = a;
                this.fj("XAxisLabelBottomMargin", b, this.h0);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ij", {
        get: function () {
            return this.hg;
        },
        set: function (a) {
            var b = this.ij;
            if (a != b) {
                this.hg = a;
                this.fj("YAxisLabelLeftMargin", b, this.ij);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "il", {
        get: function () {
            return this.hi;
        },
        set: function (a) {
            var b = this.il;
            if (a != b) {
                this.hi = a;
                this.fj("YAxisLabelTopMargin", b, this.il);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ik", {
        get: function () {
            return this.hh;
        },
        set: function (a) {
            var b = this.ik;
            if (a != b) {
                this.hh = a;
                this.fj("YAxisLabelRightMargin", b, this.ik);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ii", {
        get: function () {
            return this.hf;
        },
        set: function (a) {
            var b = this.ii;
            if (a != b) {
                this.hf = a;
                this.fj("YAxisLabelBottomMargin", b, this.ii);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ma", {
        get: function () {
            return this.lw;
        },
        set: function (a) {
            var b = this.ma;
            if (a != b) {
                this.lw = a;
                this.fj("XAxisLabelTextColor", b, this.ma);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mh", {
        get: function () {
            return this.l3;
        },
        set: function (a) {
            var b = this.mh;
            if (a != b) {
                this.l3 = a;
                this.fj("YAxisLabelTextColor", b, this.mh);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ic", {
        get: function () {
            return this.ha;
        },
        set: function (a) {
            var b = this.ic;
            if (a != b) {
                this.ha = a;
                this.fj("XAxisTitleMargin", b, this.ic);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "iv", {
        get: function () {
            return this.hr;
        },
        set: function (a) {
            var b = this.iv;
            if (a != b) {
                this.hr = a;
                this.fj("YAxisTitleMargin", b, this.iv);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ib", {
        get: function () {
            return this.g9;
        },
        set: function (a) {
            var b = this.ib;
            if (a != b) {
                this.g9 = a;
                this.fj("XAxisTitleLeftMargin", b, this.ib);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "iu", {
        get: function () {
            return this.hq;
        },
        set: function (a) {
            var b = this.iu;
            if (a != b) {
                this.hq = a;
                this.fj("YAxisTitleLeftMargin", b, this.iu);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ie", {
        get: function () {
            return this.hc;
        },
        set: function (a) {
            var b = this.ie;
            if (a != b) {
                this.hc = a;
                this.fj("XAxisTitleTopMargin", b, this.ie);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ix", {
        get: function () {
            return this.ht;
        },
        set: function (a) {
            var b = this.ix;
            if (a != b) {
                this.ht = a;
                this.fj("YAxisTitleTopMargin", b, this.ix);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "id", {
        get: function () {
            return this.hb;
        },
        set: function (a) {
            var b = this.id;
            if (a != b) {
                this.hb = a;
                this.fj("XAxisTitleRightMargin", b, this.id);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "iw", {
        get: function () {
            return this.hs;
        },
        set: function (a) {
            var b = this.iw;
            if (a != b) {
                this.hs = a;
                this.fj("YAxisTitleRightMargin", b, this.iw);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ia", {
        get: function () {
            return this.g8;
        },
        set: function (a) {
            var b = this.ia;
            if (a != b) {
                this.g8 = a;
                this.fj("XAxisTitleBottomMargin", b, this.ia);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "it", {
        get: function () {
            return this.hp;
        },
        set: function (a) {
            var b = this.it;
            if (a != b) {
                this.hp = a;
                this.fj("YAxisTitleBottomMargin", b, this.it);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mg", {
        get: function () {
            return this.l2;
        },
        set: function (a) {
            var b = this.mg;
            if (a != b) {
                this.l2 = a;
                this.fj("XAxisTitleTextColor", b, this.mg);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mn", {
        get: function () {
            return this.l9;
        },
        set: function (a) {
            var b = this.mn;
            if (a != b) {
                this.l9 = a;
                this.fj("YAxisTitleTextColor", b, this.mn);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.fl = function (a, b, c) {
        var _this = this;
        _super.prototype.fl.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelTextStyle":
                this.lk(function (d) { return d.textStyle = _this.jj; });
                break;
            case "YAxisLabelTextStyle":
                this.lo(function (d) { return d.textStyle = _this.kl; });
                break;
            case "XAxisTitleTextStyle":
                this.ll(function (d) { return d.textStyle = _this.j7; });
                break;
            case "YAxisTitleTextStyle":
                this.lp(function (d) { return d.textStyle = _this.k9; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "jj", {
        get: function () {
            return this.i2;
        },
        set: function (a) {
            var b = this.jj;
            if (a != b) {
                this.i2 = a;
                this.fj("XAxisLabelTextStyle", b, this.jj);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kl", {
        get: function () {
            return this.i5;
        },
        set: function (a) {
            var b = this.kl;
            if (a != b) {
                this.i5 = a;
                this.fj("YAxisLabelTextStyle", b, this.kl);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j7", {
        get: function () {
            return this.i4;
        },
        set: function (a) {
            var b = this.j7;
            if (a != b) {
                this.i4 = a;
                this.fj("XAxisTitleTextStyle", b, this.j7);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "k9", {
        get: function () {
            return this.i7;
        },
        set: function (a) {
            var b = this.k9;
            if (a != b) {
                this.i7 = a;
                this.fj("YAxisTitleTextStyle", b, this.k9);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.lf = function (a) {
        var _this = this;
        this.lc(a, function (b) { return b.leftMargin = _this.h1; });
        this.lc(a, function (b) { return b.topMargin = _this.h3; });
        this.lc(a, function (b) { return b.rightMargin = _this.h2; });
        this.lc(a, function (b) { return b.bottomMargin = _this.h0; });
        this.lc(a, function (b) { return b.textColor = _this.ma; });
        this.ld(a, function (b) { return b.textColor = _this.mg; });
        this.ld(a, function (b) { return b.leftMargin = _this.ib; });
        this.ld(a, function (b) { return b.topMargin = _this.ie; });
        this.ld(a, function (b) { return b.rightMargin = _this.id; });
        this.ld(a, function (b) { return b.bottomMargin = _this.ia; });
        this.lc(a, function (b) { return b.textStyle = _this.jj; });
        this.ld(a, function (b) { return b.textStyle = _this.j7; });
    };
    XYChart.prototype.lh = function (a) {
        var _this = this;
        this.lc(a, function (b) { return b.leftMargin = _this.ij; });
        this.lc(a, function (b) { return b.topMargin = _this.il; });
        this.lc(a, function (b) { return b.rightMargin = _this.ik; });
        this.lc(a, function (b) { return b.bottomMargin = _this.ii; });
        this.lc(a, function (b) { return b.textColor = _this.mh; });
        this.ld(a, function (b) { return b.textColor = _this.mn; });
        this.ld(a, function (b) { return b.leftMargin = _this.iu; });
        this.ld(a, function (b) { return b.topMargin = _this.ix; });
        this.ld(a, function (b) { return b.rightMargin = _this.iw; });
        this.ld(a, function (b) { return b.bottomMargin = _this.it; });
        this.lc(a, function (b) { return b.textStyle = _this.kl; });
        this.ld(a, function (b) { return b.textStyle = _this.k9; });
    };
    XYChart.prototype.fy = function (a) {
        var b = this.r(a);
        var c = this.ag(a, b);
        if (c == null) {
            return;
        }
        c.itemsSource = a.data;
        c.name = this.c5(a);
        c.fo = this.c6(a, b);
        this.dataChart.series.add(c);
    };
    XYChart.prototype.li = function (a) {
        this.lj(a, null);
    };
    XYChart.prototype.lj = function (a, b) {
        a(this.gk());
    };
    XYChart.prototype.ln = function (a, b) {
        a(this.gl());
    };
    XYChart.prototype.lm = function (a) {
        this.ln(a, true);
    };
    XYChart.prototype.ll = function (a) {
        this.ld(this.gk(), a);
    };
    XYChart.prototype.lp = function (a) {
        this.ld(this.gl(), a);
    };
    XYChart.prototype.lo = function (a) {
        this.lc(this.gl(), a);
    };
    XYChart.prototype.lk = function (a) {
        this.lc(this.gk(), a);
    };
    XYChart.prototype.hu = function (a) {
        return this.gk().dt(a, new ScalerParams(1, this.gj, this.gi, this.gk().b8));
    };
    XYChart.prototype.hw = function (a) {
        return this.gk().dw(a, new ScalerParams(1, this.gj, this.gi, this.gk().b8));
    };
    XYChart.prototype.hv = function (a) {
        return this.gl().dt(a, new ScalerParams(1, this.gj, this.gi, this.gl().b8));
    };
    XYChart.prototype.hx = function (a) {
        return this.gl().dw(a, new ScalerParams(1, this.gj, this.gi, this.gl().b8));
    };
    XYChart.prototype.fw = function (a) {
        if (a == null) {
            return;
        }
        if (a.axes != null) {
            var b = this.gk();
            var c = this.gl();
            if (a.axes.contains(b)) {
                a.axes.remove(b);
            }
            if (a.axes.contains(c)) {
                a.axes.remove(c);
            }
        }
    };
    XYChart.i8 = function (a, b) {
        try {
            for (var _a = tslib_1.__values(fromEnum(b)), _b = _a.next(); !_b.done; _b = _a.next()) {
                var c = _b.value;
                var d = c.findMatchingHint(16);
                if (d != null) {
                    var e = d.path;
                    return e;
                }
            }
        }
        catch (e_1_1) { e_1 = { error: e_1_1 }; }
        finally {
            try {
                if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
            }
            finally { if (e_1) throw e_1.error; }
        }
        return null;
        var e_1, _c;
    };
    XYChart.prototype.ew = function (a) {
        _super.prototype.ew.call(this, a);
        if (a == this.dataChart) {
            this.dataChart.axes.add(this.gk());
            this.dataChart.axes.add(this.gl());
        }
    };
    XYChart.prototype.e2 = function (a, b) {
        _super.prototype.e2.call(this, a, b);
    };
    XYChart.prototype.le = function (a) {
        var _this = this;
        if (a != null && this.cm != null && a.eo == null) {
            a.provideRenderer(this.cm);
        }
        a.ib = this.mb;
        a.d0 = this.h4;
        a.ic = this.mc;
        a.d3 = this.h5;
        a.ie = this.me;
        a.ek = this.h6;
        a.id = this.md;
        a.el = this.h7;
        a.ig = this.mf;
        a.em = this.h8;
        a.cn = true;
        var b = a == this.gk();
        if (b) {
            a.f0 = this.jy;
        }
        this.lc(a, function (c) { return c.angle = _this.hz; });
        this.lc(a, function (c) {
            if (c.extent != _this.hy) {
                c.extent = _this.hy;
            }
        });
        this.lc(a, function (c) { return c.horizontalAlignment = _this.lt; });
        this.lc(a, function (c) { return c.verticalAlignment = _this.mr; });
        this.lc(a, function (c) { return c.visibility = _this.mw; });
        this.ld(a, function (c) { return c.horizontalAlignment = _this.lu; });
        this.ld(a, function (c) { return c.angle = _this.h9; });
        this.lf(a);
    };
    XYChart.prototype.lg = function (a) {
        var _this = this;
        if (a == null) {
            return;
        }
        if (this.cm != null && a.eo == null) {
            a.provideRenderer(this.cm);
        }
        this.lc(a, function (b) { return b.angle = _this.ih; });
        this.lc(a, function (b) {
            if (b.extent != _this.ig) {
                b.extent = _this.ig;
            }
        });
        this.lc(a, function (b) { return b.horizontalAlignment = _this.lv; });
        this.lc(a, function (b) { return b.verticalAlignment = _this.ms; });
        this.lc(a, function (b) { return b.visibility = _this.mx; });
        this.lc(a, function (b) { return b.location = _this.gr; });
        this.ld(a, function (b) { return b.verticalAlignment = _this.mt; });
        this.ld(a, function (b) { return b.angle = _this.is; });
        a.ib = this.mi;
        a.d0 = this.im;
        a.ic = this.mj;
        a.d3 = this.io;
        a.ie = this.ml;
        a.ek = this.ip;
        a.id = this.mk;
        a.el = this.iq;
        a.ig = this.mm;
        a.em = this.ir;
        var b = a == this.gl();
        if (b) {
            a.f0 = this.k0;
        }
        this.lh(a);
    };
    XYChart.prototype.et = function () {
        _super.prototype.et.call(this);
        this.le(this.gk());
        this.lg(this.gl());
    };
    XYChart.prototype.lc = function (a, b) {
        if (a == null) {
            return;
        }
        if (a.aw == null) {
            a.aw = new AxisLabelSettings();
            a.aw.angle = a.dh();
            a.aw.bottomMargin = a.di();
            a.aw.leftMargin = a.dj();
            a.aw.rightMargin = a.dk();
            a.aw.topMargin = a.dl();
            a.aw.horizontalAlignment = a.h6();
            a.aw.location = a.ax();
            a.aw.verticalAlignment = a.i0();
        }
        b(a.aw);
    };
    XYChart.prototype.ld = function (a, b) {
        if (a == null) {
            return;
        }
        if (a.bc == null) {
            a.bc = new TitleSettings();
            a.bc.bottomMargin = a.dn();
            a.bc.leftMargin = a.dp();
            a.bc.rightMargin = a.dq();
            a.bc.topMargin = a.dr();
            a.bc.location = a.ay();
            a.bc.angle = a.dm();
            a.bc.horizontalAlignment = a.h7();
            a.bc.verticalAlignment = a.i1();
        }
        b(a.bc);
    };
    XYChart.prototype.fj = function (a, b, c) {
        var _this = this;
        _super.prototype.fj.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelAngle":
                this.lk(function (d) { return d.angle = _this.hz; });
                break;
            case "YAxisLabelAngle":
                this.lo(function (d) { return d.angle = _this.ih; });
                break;
            case "XAxisLabelHorizontalAlignment":
                this.lk(function (d) { return d.horizontalAlignment = _this.lt; });
                break;
            case "YAxisLabelHorizontalAlignment":
                this.lo(function (d) { return d.horizontalAlignment = _this.lv; });
                break;
            case "XAxisLabelVerticalAlignment":
                this.lk(function (d) { return d.verticalAlignment = _this.mr; });
                break;
            case "YAxisLabelVerticalAlignment":
                this.lo(function (d) { return d.verticalAlignment = _this.ms; });
                break;
            case "XAxisLabelVisibility":
                this.lk(function (d) { return d.visibility = _this.mw; });
                break;
            case "YAxisLabelVisibility":
                this.lo(function (d) { return d.visibility = _this.mx; });
                break;
            case "XAxisLabel":
                this.li(function (d) { return d.e1 = _this.i0; });
                break;
            case "YAxisLabel":
                this.lm(function (d) { return d.e1 = _this.i1; });
                break;
            case "XAxisTitleAngle":
                this.ll(function (d) { return d.angle = _this.h9; });
                break;
            case "YAxisTitleAngle":
                this.lp(function (d) { return d.angle = _this.is; });
                break;
            case "XAxisTitleAlignment":
                this.ll(function (d) { return d.horizontalAlignment = _this.lu; });
                break;
            case "YAxisTitleAlignment":
                this.lp(function (d) { return d.verticalAlignment = _this.mt; });
                break;
            case "XAxisTitle":
                this.li(function (d) { return d.f0 = _this.jy; });
                break;
            case "YAxisTitle":
                this.ln(function (d) { return d.f0 = _this.k0; }, false);
                break;
            case "XAxisMajorStroke":
                this.lj(function (d) { return d.ib = _this.mb; }, a);
                break;
            case "YAxisMajorStroke":
                this.lm(function (d) { return d.ib = _this.mi; });
                break;
            case "XAxisMajorStrokeThickness":
                this.lj(function (d) { return d.d0 = _this.h4; }, a);
                break;
            case "YAxisMajorStrokeThickness":
                this.lm(function (d) { return d.d0 = _this.im; });
                break;
            case "XAxisMinorStroke":
                this.li(function (d) { return d.ic = _this.mc; });
                break;
            case "YAxisMinorStroke":
                this.lm(function (d) { return d.ic = _this.mj; });
                break;
            case "XAxisMinorStrokeThickness":
                this.li(function (d) { return d.d3 = _this.h5; });
                break;
            case "YAxisMinorStrokeThickness":
                this.lm(function (d) { return d.d3 = _this.io; });
                break;
            case "XAxisTickLength":
                this.li(function (d) { return d.el = _this.h7; });
                break;
            case "YAxisTickLength":
                this.lm(function (d) { return d.el = _this.iq; });
                break;
            case "XAxisTickStroke":
                this.li(function (d) { return d.ig = _this.mf; });
                break;
            case "YAxisTickStroke":
                this.lm(function (d) { return d.ig = _this.mm; });
                break;
            case "XAxisTickStrokeThickness":
                this.li(function (d) { return d.em = _this.h8; });
                break;
            case "YAxisTickStrokeThickness":
                this.lm(function (d) { return d.em = _this.ir; });
                break;
            case "XAxisStroke":
                this.li(function (d) { return d.ie = _this.me; });
                break;
            case "YAxisStroke":
                this.lm(function (d) { return d.ie = _this.ml; });
                break;
            case "XAxisStrokeThickness":
                this.li(function (d) { return d.ek = _this.h6; });
                break;
            case "YAxisStrokeThickness":
                this.lm(function (d) { return d.ek = _this.ip; });
                break;
            case "XAxisExtent":
                this.lk(function (d) { return d.extent = _this.hy; });
                break;
            case "YAxisExtent":
                this.lo(function (d) { return d.extent = _this.ig; });
                break;
            case "XAxisStrip":
                this.li(function (d) { return d.id = _this.md; });
                break;
            case "YAxisStrip":
                this.lm(function (d) { return d.id = _this.mk; });
                break;
            case "XAxisInverted":
                this.li(function (d) { return d.b8 = _this.gu; });
                break;
            case "YAxisInverted":
                this.lm(function (d) { return d.b8 = _this.gv; });
                break;
            case "YAxisLabelLocation":
                this.lo(function (d) { return d.location = _this.gr; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "i0", {
        get: function () {
            return this.iy;
        },
        set: function (a) {
            var b = this.i0;
            if (a != b) {
                this.iy = a;
                this.fj("XAxisLabel", b, this.i0);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "i1", {
        get: function () {
            return this.iz;
        },
        set: function (a) {
            var b = this.i1;
            if (a != b) {
                this.iz = a;
                this.fj("YAxisLabel", b, this.i1);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mb", {
        get: function () {
            return this.lx;
        },
        set: function (a) {
            var b = this.mb;
            if (a != b) {
                this.lx = a;
                this.fj("XAxisMajorStroke", b, this.mb);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mi", {
        get: function () {
            return this.l4;
        },
        set: function (a) {
            var b = this.mi;
            if (a != b) {
                this.l4 = a;
                this.fj("YAxisMajorStroke", b, this.mi);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h4", {
        get: function () {
            return this.g2;
        },
        set: function (a) {
            var b = this.h4;
            if (a != b) {
                this.g2 = a;
                this.fj("XAxisMajorStrokeThickness", b, this.h4);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "im", {
        get: function () {
            return this.hj;
        },
        set: function (a) {
            var b = this.im;
            if (a != b) {
                this.hj = a;
                this.fj("YAxisMajorStrokeThickness", b, this.im);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h5", {
        get: function () {
            return this.g3;
        },
        set: function (a) {
            var b = this.h5;
            if (a != b) {
                this.g3 = a;
                this.fj("XAxisMinorStrokeThickness", b, this.h5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "io", {
        get: function () {
            return this.hk;
        },
        set: function (a) {
            var b = this.io;
            if (a != b) {
                this.hk = a;
                this.fj("YAxisMinorStrokeThickness", b, this.io);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "md", {
        get: function () {
            return this.lz;
        },
        set: function (a) {
            var b = this.md;
            if (a != b) {
                this.lz = a;
                this.fj("XAxisStrip", b, this.md);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mk", {
        get: function () {
            return this.l6;
        },
        set: function (a) {
            var b = this.mk;
            if (a != b) {
                this.l6 = a;
                this.fj("YAxisStrip", b, this.mk);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "me", {
        get: function () {
            return this.l0;
        },
        set: function (a) {
            var b = this.me;
            if (a != b) {
                this.l0 = a;
                this.fj("XAxisStroke", b, this.me);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ml", {
        get: function () {
            return this.l7;
        },
        set: function (a) {
            var b = this.ml;
            if (a != b) {
                this.l7 = a;
                this.fj("YAxisStroke", b, this.ml);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h6", {
        get: function () {
            return this.g4;
        },
        set: function (a) {
            var b = this.h6;
            if (a != b) {
                this.g4 = a;
                this.fj("XAxisStrokeThickness", b, this.h6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ip", {
        get: function () {
            return this.hl;
        },
        set: function (a) {
            var b = this.ip;
            if (a != b) {
                this.hl = a;
                this.fj("YAxisStrokeThickness", b, this.ip);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h7", {
        get: function () {
            return this.g5;
        },
        set: function (a) {
            var b = this.h7;
            if (a != b) {
                this.g5 = a;
                this.fj("XAxisTickLength", b, this.h7);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "iq", {
        get: function () {
            return this.hm;
        },
        set: function (a) {
            var b = this.iq;
            if (a != b) {
                this.hm = a;
                this.fj("YAxisTickLength", b, this.iq);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mf", {
        get: function () {
            return this.l1;
        },
        set: function (a) {
            var b = this.mf;
            if (a != b) {
                this.l1 = a;
                this.fj("XAxisTickStroke", b, this.mf);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mm", {
        get: function () {
            return this.l8;
        },
        set: function (a) {
            var b = this.mm;
            if (a != b) {
                this.l8 = a;
                this.fj("YAxisTickStroke", b, this.mm);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h8", {
        get: function () {
            return this.g6;
        },
        set: function (a) {
            var b = this.h8;
            if (a != b) {
                this.g6 = a;
                this.fj("XAxisTickStrokeThickness", b, this.h8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ir", {
        get: function () {
            return this.hn;
        },
        set: function (a) {
            var b = this.ir;
            if (a != b) {
                this.hn = a;
                this.fj("YAxisTickStrokeThickness", b, this.ir);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jy", {
        get: function () {
            return this.i3;
        },
        set: function (a) {
            var b = this.jy;
            if (a != b) {
                this.i3 = a;
                this.fj("XAxisTitle", b, this.jy);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "k0", {
        get: function () {
            return this.i6;
        },
        set: function (a) {
            var b = this.k0;
            if (a != b) {
                this.i6 = a;
                this.fj("YAxisTitle", b, this.k0);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mc", {
        get: function () {
            return this.ly;
        },
        set: function (a) {
            var b = this.mc;
            if (a != b) {
                this.ly = a;
                this.fj("XAxisMinorStroke", b, this.mc);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mj", {
        get: function () {
            return this.l5;
        },
        set: function (a) {
            var b = this.mj;
            if (a != b) {
                this.l5 = a;
                this.fj("YAxisMinorStroke", b, this.mj);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "hz", {
        get: function () {
            return this.gx;
        },
        set: function (a) {
            var b = this.hz;
            if (a != b) {
                this.gx = a;
                this.fj("XAxisLabelAngle", b, this.hz);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ih", {
        get: function () {
            return this.he;
        },
        set: function (a) {
            var b = this.ih;
            if (a != b) {
                this.he = a;
                this.fj("YAxisLabelAngle", b, this.ih);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "hy", {
        get: function () {
            return this.gw;
        },
        set: function (a) {
            var b = this.hy;
            if (a != b) {
                this.gw = a;
                this.fj("XAxisExtent", b, this.hy);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ig", {
        get: function () {
            return this.hd;
        },
        set: function (a) {
            var b = this.ig;
            if (a != b) {
                this.hd = a;
                this.fj("YAxisExtent", b, this.ig);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "h9", {
        get: function () {
            return this.g7;
        },
        set: function (a) {
            var b = this.h9;
            if (a != b) {
                this.g7 = a;
                this.fj("XAxisTitleAngle", b, this.h9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "is", {
        get: function () {
            return this.ho;
        },
        set: function (a) {
            var b = this.is;
            if (a != b) {
                this.ho = a;
                this.fj("YAxisTitleAngle", b, this.is);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "gu", {
        get: function () {
            return this.gs;
        },
        set: function (a) {
            var b = this.gu;
            if (a != b) {
                this.gs = a;
                this.fj("XAxisInverted", b, this.gu);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "gv", {
        get: function () {
            return this.gt;
        },
        set: function (a) {
            var b = this.gv;
            if (a != b) {
                this.gt = a;
                this.fj("YAxisInverted", b, this.gv);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lu", {
        get: function () {
            return this.lr;
        },
        set: function (a) {
            var b = this.lu;
            if (a != b) {
                this.lr = a;
                this.fj("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.lu));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mt", {
        get: function () {
            return this.mq;
        },
        set: function (a) {
            var b = this.mt;
            if (a != b) {
                this.mq = a;
                this.fj("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.mt));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lt", {
        get: function () {
            return this.lq;
        },
        set: function (a) {
            var b = this.lt;
            if (a != b) {
                this.lq = a;
                this.fj("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.lt));
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.get_lv = function () {
        return this.ls;
    };
    XYChart.prototype.set_lv = function (a) {
        var b = this.lv;
        if (a != b) {
            this.ls = a;
            this.fj("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.lv));
        }
    };
    Object.defineProperty(XYChart.prototype, "lv", {
        get: function () {
            return this.get_lv();
        },
        set: function (a) {
            this.set_lv(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mr", {
        get: function () {
            return this.mo;
        },
        set: function (a) {
            var b = this.mr;
            if (a != b) {
                this.mo = a;
                this.fj("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.mr));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ms", {
        get: function () {
            return this.mp;
        },
        set: function (a) {
            var b = this.ms;
            if (a != b) {
                this.mp = a;
                this.fj("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ms));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mw", {
        get: function () {
            return this.mu;
        },
        set: function (a) {
            var b = this.mw;
            if (a != b) {
                this.mu = a;
                this.fj("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.mw));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mx", {
        get: function () {
            return this.mv;
        },
        set: function (a) {
            var b = this.mx;
            if (a != b) {
                this.mv = a;
                this.fj("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.mx));
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.get_gr = function () {
        return this.gq;
    };
    XYChart.prototype.set_gr = function (a) {
        var b = this.gr;
        if (a != b) {
            this.gq = a;
            this.fj("YAxisLabelLocation", enumGetBox(AxisLabelsLocation_$type, b), enumGetBox(AxisLabelsLocation_$type, this.gr));
        }
    };
    Object.defineProperty(XYChart.prototype, "gr", {
        get: function () {
            return this.get_gr();
        },
        set: function (a) {
            this.set_gr(a);
        },
        enumerable: true,
        configurable: true
    });
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
}(DomainChart));
export { XYChart };
