/*
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 { fromEnum, enumGetBox, markType } from "igniteui-react-core/ES5/type";
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 { AxisLabelSettings } from "./AxisLabelSettings";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
/**
 * @hidden
 */
var XYChart = /** @class */ (function (_super) {
    tslib_1.__extends(XYChart, _super);
    function XYChart() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.h9 = null;
        _this.ia = null;
        _this.io = 0;
        _this.iq = 5;
        _this.ip = 0;
        _this.im = 5;
        _this.i5 = 5;
        _this.i7 = 0;
        _this.i6 = 5;
        _this.i4 = 0;
        _this.nj = null;
        _this.nq = null;
        _this.iz = 0;
        _this.jg = 0;
        _this.iy = NaN;
        _this.jf = NaN;
        _this.i1 = NaN;
        _this.ji = NaN;
        _this.i0 = NaN;
        _this.jh = NaN;
        _this.ix = NaN;
        _this.je = NaN;
        _this.np = null;
        _this.nw = null;
        _this.kp = null;
        _this.ks = null;
        _this.kr = null;
        _this.ku = null;
        _this.kl = null;
        _this.km = null;
        _this.nk = null;
        _this.nr = null;
        _this.ir = 1;
        _this.i8 = 1;
        _this.is = 1;
        _this.i9 = 0;
        _this.nm = null;
        _this.nt = null;
        _this.nn = null;
        _this.nu = null;
        _this.it = 1;
        _this.ja = 1;
        _this.iu = 5;
        _this.jb = 0;
        _this.no = null;
        _this.nv = null;
        _this.iv = 2;
        _this.jc = 2;
        _this.kq = null;
        _this.kt = null;
        _this.nl = null;
        _this.ns = null;
        _this.il = 0;
        _this.i3 = 0;
        _this.ik = NaN;
        _this.i2 = NaN;
        _this.iw = 0;
        _this.jd = -90;
        _this.ig = false;
        _this.ih = false;
        _this.ne = 1;
        _this.od = 1;
        _this.nd = 1;
        _this.nf = 2;
        _this.ob = 0;
        _this.oc = 1;
        _this.oh = 0;
        _this.oi = 0;
        _this.id = 2;
        return _this;
    }
    XYChart.prototype.provideContainer = function (a) {
        if (a != null) {
            var b = this.h7();
            var c = this.h8();
            if (b != null) {
                b.provideRenderer(a);
            }
            if (c != null) {
                c.provideRenderer(a);
            }
        }
        _super.prototype.provideContainer.call(this, a);
    };
    XYChart.prototype.gj = function () {
        _super.prototype.gj.call(this);
        var a = this.h7();
        var b = this.h8();
        if (a != null && a.aw != null) {
            this.nx = a.aw.textColor;
        }
        if (b != null && b.aw != null) {
            this.n4 = b.aw.textColor;
        }
    };
    XYChart.prototype.g2 = function (a, b, c) {
        var _this = this;
        _super.prototype.g2.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelLeftMargin":
                this.m7(function (d) { return d.leftMargin = _this.jq; });
                break;
            case "XAxisLabelTopMargin":
                this.m7(function (d) { return d.topMargin = _this.js; });
                break;
            case "XAxisLabelRightMargin":
                this.m7(function (d) { return d.rightMargin = _this.jr; });
                break;
            case "XAxisLabelBottomMargin":
                this.m7(function (d) { return d.bottomMargin = _this.jp; });
                break;
            case "YAxisLabelLeftMargin":
                this.nb(function (d) { return d.leftMargin = _this.j7; });
                break;
            case "YAxisLabelTopMargin":
                this.nb(function (d) { return d.topMargin = _this.j9; });
                break;
            case "YAxisLabelRightMargin":
                this.nb(function (d) { return d.rightMargin = _this.j8; });
                break;
            case "YAxisLabelBottomMargin":
                this.nb(function (d) { return d.bottomMargin = _this.j6; });
                break;
            case "XAxisLabelTextColor":
                this.m7(function (d) { return d.textColor = _this.nx; });
                break;
            case "YAxisLabelTextColor":
                this.nb(function (d) { return d.textColor = _this.n4; });
                break;
            case "XAxisTitleMargin":
                this.m8(function (d) { return d.margin = _this.j1; });
                break;
            case "YAxisTitleMargin":
                this.nc(function (d) { return d.margin = _this.ki; });
                break;
            case "XAxisTitleLeftMargin":
                this.m8(function (d) { return d.leftMargin = _this.j0; });
                break;
            case "YAxisTitleLeftMargin":
                this.nc(function (d) { return d.leftMargin = _this.kh; });
                break;
            case "XAxisTitleTopMargin":
                this.m8(function (d) { return d.topMargin = _this.j3; });
                break;
            case "YAxisTitleTopMargin":
                this.nc(function (d) { return d.topMargin = _this.kk; });
                break;
            case "XAxisTitleRightMargin":
                this.m8(function (d) { return d.rightMargin = _this.j2; });
                break;
            case "YAxisTitleRightMargin":
                this.nc(function (d) { return d.rightMargin = _this.kj; });
                break;
            case "XAxisTitleBottomMargin":
                this.m8(function (d) { return d.bottomMargin = _this.jz; });
                break;
            case "YAxisTitleBottomMargin":
                this.nc(function (d) { return d.bottomMargin = _this.kg; });
                break;
            case "XAxisTitleTextColor":
                this.m8(function (d) { return d.textColor = _this.n3; });
                break;
            case "YAxisTitleTextColor":
                this.nc(function (d) { return d.textColor = _this.oa; });
                break;
            case "XAxisFormatLabel":
                this.m5(function (d) { return d.ar = _this.ib; });
                break;
            case "YAxisFormatLabel":
                this.m9(function (d) { return d.ar = _this.ic; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "ib", {
        get: function () {
            return this.h9;
        },
        set: function (a) {
            var b = this.ib;
            if (a != b) {
                this.h9 = a;
                this.g1("XAxisFormatLabel", b, this.ib);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ic", {
        get: function () {
            return this.ia;
        },
        set: function (a) {
            var b = this.ic;
            if (a != b) {
                this.ia = a;
                this.g1("YAxisFormatLabel", b, this.ic);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jq", {
        get: function () {
            return this.io;
        },
        set: function (a) {
            var b = this.jq;
            if (a != b) {
                this.io = a;
                this.g1("XAxisLabelLeftMargin", b, this.jq);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "js", {
        get: function () {
            return this.iq;
        },
        set: function (a) {
            var b = this.js;
            if (a != b) {
                this.iq = a;
                this.g1("XAxisLabelTopMargin", b, this.js);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jr", {
        get: function () {
            return this.ip;
        },
        set: function (a) {
            var b = this.jr;
            if (a != b) {
                this.ip = a;
                this.g1("XAxisLabelRightMargin", b, this.jr);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jp", {
        get: function () {
            return this.im;
        },
        set: function (a) {
            var b = this.jp;
            if (a != b) {
                this.im = a;
                this.g1("XAxisLabelBottomMargin", b, this.jp);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j7", {
        get: function () {
            return this.i5;
        },
        set: function (a) {
            var b = this.j7;
            if (a != b) {
                this.i5 = a;
                this.g1("YAxisLabelLeftMargin", b, this.j7);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j9", {
        get: function () {
            return this.i7;
        },
        set: function (a) {
            var b = this.j9;
            if (a != b) {
                this.i7 = a;
                this.g1("YAxisLabelTopMargin", b, this.j9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j8", {
        get: function () {
            return this.i6;
        },
        set: function (a) {
            var b = this.j8;
            if (a != b) {
                this.i6 = a;
                this.g1("YAxisLabelRightMargin", b, this.j8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j6", {
        get: function () {
            return this.i4;
        },
        set: function (a) {
            var b = this.j6;
            if (a != b) {
                this.i4 = a;
                this.g1("YAxisLabelBottomMargin", b, this.j6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "nx", {
        get: function () {
            return this.nj;
        },
        set: function (a) {
            var b = this.nx;
            if (a != b) {
                this.nj = a;
                this.g1("XAxisLabelTextColor", b, this.nx);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n4", {
        get: function () {
            return this.nq;
        },
        set: function (a) {
            var b = this.n4;
            if (a != b) {
                this.nq = a;
                this.g1("YAxisLabelTextColor", b, this.n4);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j1", {
        get: function () {
            return this.iz;
        },
        set: function (a) {
            var b = this.j1;
            if (a != b) {
                this.iz = a;
                this.g1("XAxisTitleMargin", b, this.j1);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ki", {
        get: function () {
            return this.jg;
        },
        set: function (a) {
            var b = this.ki;
            if (a != b) {
                this.jg = a;
                this.g1("YAxisTitleMargin", b, this.ki);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j0", {
        get: function () {
            return this.iy;
        },
        set: function (a) {
            var b = this.j0;
            if (a != b) {
                this.iy = a;
                this.g1("XAxisTitleLeftMargin", b, this.j0);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kh", {
        get: function () {
            return this.jf;
        },
        set: function (a) {
            var b = this.kh;
            if (a != b) {
                this.jf = a;
                this.g1("YAxisTitleLeftMargin", b, this.kh);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j3", {
        get: function () {
            return this.i1;
        },
        set: function (a) {
            var b = this.j3;
            if (a != b) {
                this.i1 = a;
                this.g1("XAxisTitleTopMargin", b, this.j3);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kk", {
        get: function () {
            return this.ji;
        },
        set: function (a) {
            var b = this.kk;
            if (a != b) {
                this.ji = a;
                this.g1("YAxisTitleTopMargin", b, this.kk);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j2", {
        get: function () {
            return this.i0;
        },
        set: function (a) {
            var b = this.j2;
            if (a != b) {
                this.i0 = a;
                this.g1("XAxisTitleRightMargin", b, this.j2);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kj", {
        get: function () {
            return this.jh;
        },
        set: function (a) {
            var b = this.kj;
            if (a != b) {
                this.jh = a;
                this.g1("YAxisTitleRightMargin", b, this.kj);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jz", {
        get: function () {
            return this.ix;
        },
        set: function (a) {
            var b = this.jz;
            if (a != b) {
                this.ix = a;
                this.g1("XAxisTitleBottomMargin", b, this.jz);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kg", {
        get: function () {
            return this.je;
        },
        set: function (a) {
            var b = this.kg;
            if (a != b) {
                this.je = a;
                this.g1("YAxisTitleBottomMargin", b, this.kg);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n3", {
        get: function () {
            return this.np;
        },
        set: function (a) {
            var b = this.n3;
            if (a != b) {
                this.np = a;
                this.g1("XAxisTitleTextColor", b, this.n3);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oa", {
        get: function () {
            return this.nw;
        },
        set: function (a) {
            var b = this.oa;
            if (a != b) {
                this.nw = a;
                this.g1("YAxisTitleTextColor", b, this.oa);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.g3 = function (a, b, c) {
        var _this = this;
        _super.prototype.g3.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelTextStyle":
                this.m7(function (d) { return d.textStyle = _this.k6; });
                break;
            case "YAxisLabelTextStyle":
                this.nb(function (d) { return d.textStyle = _this.l8; });
                break;
            case "XAxisTitleTextStyle":
                this.m8(function (d) { return d.textStyle = _this.lu; });
                break;
            case "YAxisTitleTextStyle":
                this.nc(function (d) { return d.textStyle = _this.mw; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "k6", {
        get: function () {
            return this.kp;
        },
        set: function (a) {
            var b = this.k6;
            if (a != b) {
                this.kp = a;
                this.g1("XAxisLabelTextStyle", b, this.k6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l8", {
        get: function () {
            return this.ks;
        },
        set: function (a) {
            var b = this.l8;
            if (a != b) {
                this.ks = a;
                this.g1("YAxisLabelTextStyle", b, this.l8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lu", {
        get: function () {
            return this.kr;
        },
        set: function (a) {
            var b = this.lu;
            if (a != b) {
                this.kr = a;
                this.g1("XAxisTitleTextStyle", b, this.lu);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mw", {
        get: function () {
            return this.ku;
        },
        set: function (a) {
            var b = this.mw;
            if (a != b) {
                this.ku = a;
                this.g1("YAxisTitleTextStyle", b, this.mw);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.m2 = function (a) {
        var _this = this;
        this.mz(a, function (b) { return b.leftMargin = _this.jq; });
        this.mz(a, function (b) { return b.topMargin = _this.js; });
        this.mz(a, function (b) { return b.rightMargin = _this.jr; });
        this.mz(a, function (b) { return b.bottomMargin = _this.jp; });
        this.mz(a, function (b) { return b.textColor = _this.nx; });
        this.m0(a, function (b) { return b.textColor = _this.n3; });
        this.m0(a, function (b) { return b.leftMargin = _this.j0; });
        this.m0(a, function (b) { return b.topMargin = _this.j3; });
        this.m0(a, function (b) { return b.rightMargin = _this.j2; });
        this.m0(a, function (b) { return b.bottomMargin = _this.jz; });
        this.mz(a, function (b) { return b.textStyle = _this.k6; });
        this.m0(a, function (b) { return b.textStyle = _this.lu; });
    };
    XYChart.prototype.m4 = function (a) {
        var _this = this;
        this.mz(a, function (b) { return b.leftMargin = _this.j7; });
        this.mz(a, function (b) { return b.topMargin = _this.j9; });
        this.mz(a, function (b) { return b.rightMargin = _this.j8; });
        this.mz(a, function (b) { return b.bottomMargin = _this.j6; });
        this.mz(a, function (b) { return b.textColor = _this.n4; });
        this.m0(a, function (b) { return b.textColor = _this.oa; });
        this.m0(a, function (b) { return b.leftMargin = _this.kh; });
        this.m0(a, function (b) { return b.topMargin = _this.kk; });
        this.m0(a, function (b) { return b.rightMargin = _this.kj; });
        this.m0(a, function (b) { return b.bottomMargin = _this.kg; });
        this.mz(a, function (b) { return b.textStyle = _this.l8; });
        this.m0(a, function (b) { return b.textStyle = _this.mw; });
    };
    XYChart.prototype.hi = function (a) {
        var b = this.u(a);
        var c = this.aq(a, b);
        if (c == null) {
            return;
        }
        c.itemsSource = a.data;
        c.name = this.el(a);
        c.fs = this.em(a, b);
        this.dataChart.series.add(c);
    };
    XYChart.prototype.m5 = function (a) {
        this.m6(a, null);
    };
    XYChart.prototype.m6 = function (a, b) {
        a(this.h7());
    };
    XYChart.prototype.na = function (a, b) {
        a(this.h8());
    };
    XYChart.prototype.m9 = function (a) {
        this.na(a, true);
    };
    XYChart.prototype.m8 = function (a) {
        this.m0(this.h7(), a);
    };
    XYChart.prototype.nc = function (a) {
        this.m0(this.h8(), a);
    };
    XYChart.prototype.nb = function (a) {
        this.mz(this.h8(), a);
    };
    XYChart.prototype.m7 = function (a) {
        this.mz(this.h7(), a);
    };
    XYChart.prototype.jj = function (a) {
        var b = this.h7();
        return b.dt(a, new ScalerParams(1, this.h6, this.h5, b.b8));
    };
    XYChart.prototype.jl = function (a) {
        var b = this.h7();
        return b.dw(a, new ScalerParams(1, this.h6, this.h5, b.b8));
    };
    XYChart.prototype.jk = function (a) {
        var b = this.h8();
        return b.dt(a, new ScalerParams(1, this.h6, this.h5, b.b8));
    };
    XYChart.prototype.jm = function (a) {
        var b = this.h8();
        return b.dw(a, new ScalerParams(1, this.h6, this.h5, b.b8));
    };
    XYChart.prototype.hg = function (a) {
        _super.prototype.hg.call(this, a);
        if (a == null) {
            return;
        }
        if (a.axes != null) {
            var b = this.h7();
            var c = this.h8();
            if (a.axes.contains(b)) {
                a.axes.remove(b);
            }
            if (a.axes.contains(c)) {
                a.axes.remove(c);
            }
        }
    };
    XYChart.kv = function (a, b) {
        var e_1, _a;
        try {
            for (var _b = tslib_1.__values(fromEnum(b)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.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 (_c && !_c.done && (_a = _b.return)) _a.call(_b);
            }
            finally { if (e_1) throw e_1.error; }
        }
        return null;
    };
    XYChart.prototype.ge = function (a) {
        _super.prototype.ge.call(this, a);
        if (a == this.dataChart) {
            this.dataChart.axes.add(this.h7());
            this.dataChart.axes.add(this.h8());
        }
    };
    XYChart.prototype.m1 = function (a) {
        var _this = this;
        if (a != null && this.di != null && a.ep == null) {
            a.provideRenderer(this.di);
        }
        a.ic = this.ny;
        a.d0 = this.jt;
        a.id = this.nz;
        a.d3 = this.ju;
        a.ig = this.n1;
        a.ek = this.jv;
        a.ie = this.n0;
        a.el = this.jw;
        a.ih = this.n2;
        a.em = this.jx;
        a.cn = true;
        var b = a == this.h7();
        if (b) {
            a.f1 = this.ll;
        }
        a.e2 = this.kn;
        this.mz(a, function (c) { return c.angle = _this.jo; });
        this.mz(a, function (c) {
            if (c.extent != _this.jn) {
                c.extent = _this.jn;
            }
        });
        this.mz(a, function (c) { return c.horizontalAlignment = _this.ng; });
        this.mz(a, function (c) { return c.verticalAlignment = _this.oe; });
        this.mz(a, function (c) { return c.visibility = _this.oj; });
        this.m0(a, function (c) { return c.horizontalAlignment = _this.nh; });
        this.m0(a, function (c) { return c.angle = _this.jy; });
        this.m2(a);
    };
    XYChart.prototype.m3 = function (a) {
        var _this = this;
        if (a == null) {
            return;
        }
        if (this.di != null && a.ep == null) {
            a.provideRenderer(this.di);
        }
        this.mz(a, function (b) { return b.angle = _this.j5; });
        this.mz(a, function (b) {
            if (b.extent != _this.j4) {
                b.extent = _this.j4;
            }
        });
        this.mz(a, function (b) { return b.horizontalAlignment = _this.ni; });
        this.mz(a, function (b) { return b.verticalAlignment = _this.of; });
        this.mz(a, function (b) { return b.visibility = _this.ok; });
        this.mz(a, function (b) { return b.location = _this.ie; });
        this.m0(a, function (b) { return b.verticalAlignment = _this.og; });
        this.m0(a, function (b) { return b.angle = _this.kf; });
        a.ic = this.n5;
        a.d0 = this.ka;
        a.id = this.n6;
        a.d3 = this.kb;
        a.ig = this.n8;
        a.ek = this.kc;
        a.ie = this.n7;
        a.el = this.kd;
        a.ih = this.n9;
        a.em = this.ke;
        var b = a == this.h8();
        if (b) {
            a.f1 = this.mn;
        }
        this.m4(a);
    };
    XYChart.prototype.gb = function () {
        _super.prototype.gb.call(this);
        this.m1(this.h7());
        this.m3(this.h8());
    };
    XYChart.prototype.mz = 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.h7();
            a.aw.location = a.ax();
            a.aw.verticalAlignment = a.i1();
        }
        b(a.aw);
    };
    XYChart.prototype.m0 = 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.h8();
            a.bc.verticalAlignment = a.i2();
        }
        b(a.bc);
    };
    XYChart.prototype.g1 = function (a, b, c) {
        var _this = this;
        _super.prototype.g1.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelAngle":
                this.m7(function (d) { return d.angle = _this.jo; });
                break;
            case "YAxisLabelAngle":
                this.nb(function (d) { return d.angle = _this.j5; });
                break;
            case "XAxisLabelHorizontalAlignment":
                this.m7(function (d) { return d.horizontalAlignment = _this.ng; });
                break;
            case "YAxisLabelHorizontalAlignment":
                this.nb(function (d) { return d.horizontalAlignment = _this.ni; });
                break;
            case "XAxisLabelVerticalAlignment":
                this.m7(function (d) { return d.verticalAlignment = _this.oe; });
                break;
            case "YAxisLabelVerticalAlignment":
                this.nb(function (d) { return d.verticalAlignment = _this.of; });
                break;
            case "XAxisLabelVisibility":
                this.m7(function (d) { return d.visibility = _this.oj; });
                break;
            case "YAxisLabelVisibility":
                this.nb(function (d) { return d.visibility = _this.ok; });
                break;
            case "XAxisLabel":
                this.m5(function (d) { return d.e2 = _this.kn; });
                break;
            case "YAxisLabel":
                this.m9(function (d) { return d.e2 = _this.ko; });
                break;
            case "XAxisTitleAngle":
                this.m8(function (d) { return d.angle = _this.jy; });
                break;
            case "YAxisTitleAngle":
                this.nc(function (d) { return d.angle = _this.kf; });
                break;
            case "XAxisTitleAlignment":
                this.m8(function (d) { return d.horizontalAlignment = _this.nh; });
                break;
            case "YAxisTitleAlignment":
                this.nc(function (d) { return d.verticalAlignment = _this.og; });
                break;
            case "XAxisTitle":
                this.m5(function (d) { return d.f1 = _this.ll; });
                break;
            case "YAxisTitle":
                this.na(function (d) { return d.f1 = _this.mn; }, false);
                break;
            case "XAxisMajorStroke":
                this.m6(function (d) { return d.ic = _this.ny; }, a);
                break;
            case "YAxisMajorStroke":
                this.m9(function (d) { return d.ic = _this.n5; });
                break;
            case "XAxisMajorStrokeThickness":
                this.m6(function (d) { return d.d0 = _this.jt; }, a);
                break;
            case "YAxisMajorStrokeThickness":
                this.m9(function (d) { return d.d0 = _this.ka; });
                break;
            case "XAxisMinorStroke":
                this.m5(function (d) { return d.id = _this.nz; });
                break;
            case "YAxisMinorStroke":
                this.m9(function (d) { return d.id = _this.n6; });
                break;
            case "XAxisMinorStrokeThickness":
                this.m5(function (d) { return d.d3 = _this.ju; });
                break;
            case "YAxisMinorStrokeThickness":
                this.m9(function (d) { return d.d3 = _this.kb; });
                break;
            case "XAxisTickLength":
                this.m5(function (d) { return d.el = _this.jw; });
                break;
            case "YAxisTickLength":
                this.m9(function (d) { return d.el = _this.kd; });
                break;
            case "XAxisTickStroke":
                this.m5(function (d) { return d.ih = _this.n2; });
                break;
            case "YAxisTickStroke":
                this.m9(function (d) { return d.ih = _this.n9; });
                break;
            case "XAxisTickStrokeThickness":
                this.m5(function (d) { return d.em = _this.jx; });
                break;
            case "YAxisTickStrokeThickness":
                this.m9(function (d) { return d.em = _this.ke; });
                break;
            case "XAxisStroke":
                this.m5(function (d) { return d.ig = _this.n1; });
                break;
            case "YAxisStroke":
                this.m9(function (d) { return d.ig = _this.n8; });
                break;
            case "XAxisStrokeThickness":
                this.m5(function (d) { return d.ek = _this.jv; });
                break;
            case "YAxisStrokeThickness":
                this.m9(function (d) { return d.ek = _this.kc; });
                break;
            case "XAxisExtent":
                this.m7(function (d) { return d.extent = _this.jn; });
                break;
            case "YAxisExtent":
                this.nb(function (d) { return d.extent = _this.j4; });
                break;
            case "XAxisStrip":
                this.m5(function (d) { return d.ie = _this.n0; });
                break;
            case "YAxisStrip":
                this.m9(function (d) { return d.ie = _this.n7; });
                break;
            case "XAxisInverted":
                this.m5(function (d) { return d.b8 = _this.ii; });
                break;
            case "YAxisInverted":
                this.m9(function (d) { return d.b8 = _this.ij; });
                break;
            case "YAxisLabelLocation":
                this.nb(function (d) { return d.location = _this.ie; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "kn", {
        get: function () {
            return this.kl;
        },
        set: function (a) {
            var b = this.kn;
            if (a != b) {
                this.kl = a;
                this.g1("XAxisLabel", b, this.kn);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ko", {
        get: function () {
            return this.km;
        },
        set: function (a) {
            var b = this.ko;
            if (a != b) {
                this.km = a;
                this.g1("YAxisLabel", b, this.ko);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ny", {
        get: function () {
            return this.nk;
        },
        set: function (a) {
            var b = this.ny;
            if (a != b) {
                this.nk = a;
                this.g1("XAxisMajorStroke", b, this.ny);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n5", {
        get: function () {
            return this.nr;
        },
        set: function (a) {
            var b = this.n5;
            if (a != b) {
                this.nr = a;
                this.g1("YAxisMajorStroke", b, this.n5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jt", {
        get: function () {
            return this.ir;
        },
        set: function (a) {
            var b = this.jt;
            if (a != b) {
                this.ir = a;
                this.g1("XAxisMajorStrokeThickness", b, this.jt);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ka", {
        get: function () {
            return this.i8;
        },
        set: function (a) {
            var b = this.ka;
            if (a != b) {
                this.i8 = a;
                this.g1("YAxisMajorStrokeThickness", b, this.ka);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ju", {
        get: function () {
            return this.is;
        },
        set: function (a) {
            var b = this.ju;
            if (a != b) {
                this.is = a;
                this.g1("XAxisMinorStrokeThickness", b, this.ju);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kb", {
        get: function () {
            return this.i9;
        },
        set: function (a) {
            var b = this.kb;
            if (a != b) {
                this.i9 = a;
                this.g1("YAxisMinorStrokeThickness", b, this.kb);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n0", {
        get: function () {
            return this.nm;
        },
        set: function (a) {
            var b = this.n0;
            if (a != b) {
                this.nm = a;
                this.g1("XAxisStrip", b, this.n0);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n7", {
        get: function () {
            return this.nt;
        },
        set: function (a) {
            var b = this.n7;
            if (a != b) {
                this.nt = a;
                this.g1("YAxisStrip", b, this.n7);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n1", {
        get: function () {
            return this.nn;
        },
        set: function (a) {
            var b = this.n1;
            if (a != b) {
                this.nn = a;
                this.g1("XAxisStroke", b, this.n1);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n8", {
        get: function () {
            return this.nu;
        },
        set: function (a) {
            var b = this.n8;
            if (a != b) {
                this.nu = a;
                this.g1("YAxisStroke", b, this.n8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jv", {
        get: function () {
            return this.it;
        },
        set: function (a) {
            var b = this.jv;
            if (a != b) {
                this.it = a;
                this.g1("XAxisStrokeThickness", b, this.jv);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kc", {
        get: function () {
            return this.ja;
        },
        set: function (a) {
            var b = this.kc;
            if (a != b) {
                this.ja = a;
                this.g1("YAxisStrokeThickness", b, this.kc);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jw", {
        get: function () {
            return this.iu;
        },
        set: function (a) {
            var b = this.jw;
            if (a != b) {
                this.iu = a;
                this.g1("XAxisTickLength", b, this.jw);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kd", {
        get: function () {
            return this.jb;
        },
        set: function (a) {
            var b = this.kd;
            if (a != b) {
                this.jb = a;
                this.g1("YAxisTickLength", b, this.kd);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n2", {
        get: function () {
            return this.no;
        },
        set: function (a) {
            var b = this.n2;
            if (a != b) {
                this.no = a;
                this.g1("XAxisTickStroke", b, this.n2);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n9", {
        get: function () {
            return this.nv;
        },
        set: function (a) {
            var b = this.n9;
            if (a != b) {
                this.nv = a;
                this.g1("YAxisTickStroke", b, this.n9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jx", {
        get: function () {
            return this.iv;
        },
        set: function (a) {
            var b = this.jx;
            if (a != b) {
                this.iv = a;
                this.g1("XAxisTickStrokeThickness", b, this.jx);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ke", {
        get: function () {
            return this.jc;
        },
        set: function (a) {
            var b = this.ke;
            if (a != b) {
                this.jc = a;
                this.g1("YAxisTickStrokeThickness", b, this.ke);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ll", {
        get: function () {
            return this.kq;
        },
        set: function (a) {
            var b = this.ll;
            if (a != b) {
                this.kq = a;
                this.g1("XAxisTitle", b, this.ll);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mn", {
        get: function () {
            return this.kt;
        },
        set: function (a) {
            var b = this.mn;
            if (a != b) {
                this.kt = a;
                this.g1("YAxisTitle", b, this.mn);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "nz", {
        get: function () {
            return this.nl;
        },
        set: function (a) {
            var b = this.nz;
            if (a != b) {
                this.nl = a;
                this.g1("XAxisMinorStroke", b, this.nz);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n6", {
        get: function () {
            return this.ns;
        },
        set: function (a) {
            var b = this.n6;
            if (a != b) {
                this.ns = a;
                this.g1("YAxisMinorStroke", b, this.n6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jo", {
        get: function () {
            return this.il;
        },
        set: function (a) {
            var b = this.jo;
            if (a != b) {
                this.il = a;
                this.g1("XAxisLabelAngle", b, this.jo);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j5", {
        get: function () {
            return this.i3;
        },
        set: function (a) {
            var b = this.j5;
            if (a != b) {
                this.i3 = a;
                this.g1("YAxisLabelAngle", b, this.j5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jn", {
        get: function () {
            return this.ik;
        },
        set: function (a) {
            var b = this.jn;
            if (a != b) {
                this.ik = a;
                this.g1("XAxisExtent", b, this.jn);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j4", {
        get: function () {
            return this.i2;
        },
        set: function (a) {
            var b = this.j4;
            if (a != b) {
                this.i2 = a;
                this.g1("YAxisExtent", b, this.j4);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "jy", {
        get: function () {
            return this.iw;
        },
        set: function (a) {
            var b = this.jy;
            if (a != b) {
                this.iw = a;
                this.g1("XAxisTitleAngle", b, this.jy);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kf", {
        get: function () {
            return this.jd;
        },
        set: function (a) {
            var b = this.kf;
            if (a != b) {
                this.jd = a;
                this.g1("YAxisTitleAngle", b, this.kf);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ii", {
        get: function () {
            return this.ig;
        },
        set: function (a) {
            var b = this.ii;
            if (a != b) {
                this.ig = a;
                this.g1("XAxisInverted", b, this.ii);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ij", {
        get: function () {
            return this.ih;
        },
        set: function (a) {
            var b = this.ij;
            if (a != b) {
                this.ih = a;
                this.g1("YAxisInverted", b, this.ij);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "nh", {
        get: function () {
            return this.ne;
        },
        set: function (a) {
            var b = this.nh;
            if (a != b) {
                this.ne = a;
                this.g1("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.nh));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "og", {
        get: function () {
            return this.od;
        },
        set: function (a) {
            var b = this.og;
            if (a != b) {
                this.od = a;
                this.g1("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.og));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ng", {
        get: function () {
            return this.nd;
        },
        set: function (a) {
            var b = this.ng;
            if (a != b) {
                this.nd = a;
                this.g1("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.ng));
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.get_ni = function () {
        return this.nf;
    };
    XYChart.prototype.set_ni = function (a) {
        var b = this.ni;
        if (a != b) {
            this.nf = a;
            this.g1("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.ni));
        }
    };
    Object.defineProperty(XYChart.prototype, "ni", {
        get: function () {
            return this.get_ni();
        },
        set: function (a) {
            this.set_ni(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oe", {
        get: function () {
            return this.ob;
        },
        set: function (a) {
            var b = this.oe;
            if (a != b) {
                this.ob = a;
                this.g1("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.oe));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "of", {
        get: function () {
            return this.oc;
        },
        set: function (a) {
            var b = this.of;
            if (a != b) {
                this.oc = a;
                this.g1("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.of));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oj", {
        get: function () {
            return this.oh;
        },
        set: function (a) {
            var b = this.oj;
            if (a != b) {
                this.oh = a;
                this.g1("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.oj));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ok", {
        get: function () {
            return this.oi;
        },
        set: function (a) {
            var b = this.ok;
            if (a != b) {
                this.oi = a;
                this.g1("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.ok));
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.get_ie = function () {
        return this.id;
    };
    XYChart.prototype.set_ie = function (a) {
        var b = this.ie;
        if (a != b) {
            this.id = a;
            this.g1("YAxisLabelLocation", enumGetBox(AxisLabelsLocation_$type, b), enumGetBox(AxisLabelsLocation_$type, this.ie));
        }
    };
    Object.defineProperty(XYChart.prototype, "ie", {
        get: function () {
            return this.get_ie();
        },
        set: function (a) {
            this.set_ie(a);
        },
        enumerable: true,
        configurable: true
    });
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
}(DomainChart));
export { XYChart };
