/*
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";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { VerticalAlignment_$type } from "igniteui-react-core";
import { Visibility_$type } from "igniteui-react-core";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
/**
 * @hidden
 */
var XYChart = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(XYChart, _super);
    function XYChart() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.ig = null;
        _this.ih = null;
        _this.iu = 0;
        _this.iw = 5;
        _this.iv = 0;
        _this.it = 5;
        _this.jb = 5;
        _this.jd = 0;
        _this.jc = 5;
        _this.ja = 0;
        _this.nx = null;
        _this.n4 = null;
        _this.i5 = 0;
        _this.jm = 0;
        _this.i4 = NaN;
        _this.jl = NaN;
        _this.i7 = NaN;
        _this.jo = NaN;
        _this.i6 = NaN;
        _this.jn = NaN;
        _this.i3 = NaN;
        _this.jk = NaN;
        _this.n3 = null;
        _this.oa = null;
        _this.kw = null;
        _this.k0 = null;
        _this.ky = null;
        _this.k2 = null;
        _this.kr = null;
        _this.ks = null;
        _this.ny = null;
        _this.n5 = null;
        _this.ix = 1;
        _this.je = 1;
        _this.iy = 1;
        _this.jf = 0;
        _this.n0 = null;
        _this.n7 = null;
        _this.n1 = null;
        _this.n8 = null;
        _this.iz = 1;
        _this.jg = 1;
        _this.i0 = 5;
        _this.jh = 0;
        _this.n2 = null;
        _this.n9 = null;
        _this.i1 = 2;
        _this.ji = 2;
        _this.kx = null;
        _this.k1 = null;
        _this.nz = null;
        _this.n6 = null;
        _this.is = 0;
        _this.i9 = 0;
        _this.ir = NaN;
        _this.i8 = NaN;
        _this.i2 = 0;
        _this.jj = -90;
        _this.im = false;
        _this.io = false;
        _this.ns = 1;
        _this.or = 1;
        _this.nr = 1;
        _this.nt = 2;
        _this.op = 0;
        _this.oq = 1;
        _this.ov = 0;
        _this.ow = 0;
        _this.ik = 2;
        _this.kv = null;
        _this.h9 = null;
        _this.kz = null;
        _this.ia = null;
        return _this;
    }
    XYChart.prototype.provideContainer = function (a) {
        if (a != null) {
            var b = this.id();
            var c = this.ie();
            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.id();
        var b = this.ie();
        if (a != null && a.ay != null) {
            this.ob = a.ay.textColor;
        }
        if (b != null && b.ay != null) {
            this.oi = b.ay.textColor;
        }
    };
    XYChart.prototype.g4 = function (a, b, c) {
        var _this = this;
        _super.prototype.g4.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelLeftMargin":
                this.nl(function (d) { return d.leftMargin = _this.jw; });
                break;
            case "XAxisLabelTopMargin":
                this.nl(function (d) { return d.topMargin = _this.jy; });
                break;
            case "XAxisLabelRightMargin":
                this.nl(function (d) { return d.rightMargin = _this.jx; });
                break;
            case "XAxisLabelBottomMargin":
                this.nl(function (d) { return d.bottomMargin = _this.jv; });
                break;
            case "YAxisLabelLeftMargin":
                this.np(function (d) { return d.leftMargin = _this.kd; });
                break;
            case "YAxisLabelTopMargin":
                this.np(function (d) { return d.topMargin = _this.kf; });
                break;
            case "YAxisLabelRightMargin":
                this.np(function (d) { return d.rightMargin = _this.ke; });
                break;
            case "YAxisLabelBottomMargin":
                this.np(function (d) { return d.bottomMargin = _this.kc; });
                break;
            case "XAxisLabelTextColor":
                this.nl(function (d) { return d.textColor = _this.ob; });
                break;
            case "YAxisLabelTextColor":
                this.np(function (d) { return d.textColor = _this.oi; });
                break;
            case "XAxisTitleMargin":
                this.nm(function (d) { return d.margin = _this.j7; });
                break;
            case "YAxisTitleMargin":
                this.nq(function (d) { return d.margin = _this.ko; });
                break;
            case "XAxisTitleLeftMargin":
                this.nm(function (d) { return d.leftMargin = _this.j6; });
                break;
            case "YAxisTitleLeftMargin":
                this.nq(function (d) { return d.leftMargin = _this.kn; });
                break;
            case "XAxisTitleTopMargin":
                this.nm(function (d) { return d.topMargin = _this.j9; });
                break;
            case "YAxisTitleTopMargin":
                this.nq(function (d) { return d.topMargin = _this.kq; });
                break;
            case "XAxisTitleRightMargin":
                this.nm(function (d) { return d.rightMargin = _this.j8; });
                break;
            case "YAxisTitleRightMargin":
                this.nq(function (d) { return d.rightMargin = _this.kp; });
                break;
            case "XAxisTitleBottomMargin":
                this.nm(function (d) { return d.bottomMargin = _this.j5; });
                break;
            case "YAxisTitleBottomMargin":
                this.nq(function (d) { return d.bottomMargin = _this.km; });
                break;
            case "XAxisTitleTextColor":
                this.nm(function (d) { return d.textColor = _this.oh; });
                break;
            case "YAxisTitleTextColor":
                this.nq(function (d) { return d.textColor = _this.oo; });
                break;
            case "XAxisFormatLabel":
                this.nj(function (d) { return d.at = _this.ii; });
                break;
            case "YAxisFormatLabel":
                this.nn(function (d) { return d.at = _this.ij; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "ii", {
        get: function () {
            return this.ig;
        },
        set: function (a) {
            var b = this.ii;
            if (a != b) {
                this.ig = a;
                this.g3("XAxisFormatLabel", 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.g3("YAxisFormatLabel", b, this.ij);
            }
        },
        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.g3("XAxisLabelLeftMargin", b, this.jw);
            }
        },
        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.g3("XAxisLabelTopMargin", b, this.jy);
            }
        },
        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.g3("XAxisLabelRightMargin", b, this.jx);
            }
        },
        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.g3("XAxisLabelBottomMargin", b, this.jv);
            }
        },
        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.g3("YAxisLabelLeftMargin", b, this.kd);
            }
        },
        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.g3("YAxisLabelTopMargin", b, this.kf);
            }
        },
        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.g3("YAxisLabelRightMargin", b, this.ke);
            }
        },
        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.g3("YAxisLabelBottomMargin", b, this.kc);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ob", {
        get: function () {
            return this.nx;
        },
        set: function (a) {
            var b = this.ob;
            if (a != b) {
                this.nx = a;
                this.g3("XAxisLabelTextColor", b, this.ob);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oi", {
        get: function () {
            return this.n4;
        },
        set: function (a) {
            var b = this.oi;
            if (a != b) {
                this.n4 = a;
                this.g3("YAxisLabelTextColor", b, this.oi);
            }
        },
        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.g3("XAxisTitleMargin", b, this.j7);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ko", {
        get: function () {
            return this.jm;
        },
        set: function (a) {
            var b = this.ko;
            if (a != b) {
                this.jm = a;
                this.g3("YAxisTitleMargin", b, this.ko);
            }
        },
        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.g3("XAxisTitleLeftMargin", b, this.j6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kn", {
        get: function () {
            return this.jl;
        },
        set: function (a) {
            var b = this.kn;
            if (a != b) {
                this.jl = a;
                this.g3("YAxisTitleLeftMargin", b, this.kn);
            }
        },
        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.g3("XAxisTitleTopMargin", b, this.j9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kq", {
        get: function () {
            return this.jo;
        },
        set: function (a) {
            var b = this.kq;
            if (a != b) {
                this.jo = a;
                this.g3("YAxisTitleTopMargin", b, this.kq);
            }
        },
        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.g3("XAxisTitleRightMargin", b, this.j8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kp", {
        get: function () {
            return this.jn;
        },
        set: function (a) {
            var b = this.kp;
            if (a != b) {
                this.jn = a;
                this.g3("YAxisTitleRightMargin", b, this.kp);
            }
        },
        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.g3("XAxisTitleBottomMargin", b, this.j5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "km", {
        get: function () {
            return this.jk;
        },
        set: function (a) {
            var b = this.km;
            if (a != b) {
                this.jk = a;
                this.g3("YAxisTitleBottomMargin", b, this.km);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oh", {
        get: function () {
            return this.n3;
        },
        set: function (a) {
            var b = this.oh;
            if (a != b) {
                this.n3 = a;
                this.g3("XAxisTitleTextColor", b, this.oh);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oo", {
        get: function () {
            return this.oa;
        },
        set: function (a) {
            var b = this.oo;
            if (a != b) {
                this.oa = a;
                this.g3("YAxisTitleTextColor", b, this.oo);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.g5 = function (a, b, c) {
        var _this = this;
        _super.prototype.g5.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelTextStyle":
                this.nl(function (d) { return d.textStyle = _this.lh; });
                break;
            case "YAxisLabelTextStyle":
                this.np(function (d) { return d.textStyle = _this.mm; });
                break;
            case "XAxisTitleTextStyle":
                this.nm(function (d) { return d.textStyle = _this.l5; });
                break;
            case "YAxisTitleTextStyle":
                this.nq(function (d) { return d.textStyle = _this.na; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "lh", {
        get: function () {
            return this.kw;
        },
        set: function (a) {
            var b = this.lh;
            if (a != b) {
                this.kw = a;
                this.g3("XAxisLabelTextStyle", b, this.lh);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mm", {
        get: function () {
            return this.k0;
        },
        set: function (a) {
            var b = this.mm;
            if (a != b) {
                this.k0 = a;
                this.g3("YAxisLabelTextStyle", b, this.mm);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l5", {
        get: function () {
            return this.ky;
        },
        set: function (a) {
            var b = this.l5;
            if (a != b) {
                this.ky = a;
                this.g3("XAxisTitleTextStyle", b, this.l5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "na", {
        get: function () {
            return this.k2;
        },
        set: function (a) {
            var b = this.na;
            if (a != b) {
                this.k2 = a;
                this.g3("YAxisTitleTextStyle", b, this.na);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.ng = function (a) {
        var _this = this;
        this.nd(a, function (b) { return b.leftMargin = _this.jw; });
        this.nd(a, function (b) { return b.topMargin = _this.jy; });
        this.nd(a, function (b) { return b.rightMargin = _this.jx; });
        this.nd(a, function (b) { return b.bottomMargin = _this.jv; });
        this.nd(a, function (b) { return b.textColor = _this.ob; });
        this.ne(a, function (b) { return b.textColor = _this.oh; });
        this.ne(a, function (b) { return b.leftMargin = _this.j6; });
        this.ne(a, function (b) { return b.topMargin = _this.j9; });
        this.ne(a, function (b) { return b.rightMargin = _this.j8; });
        this.ne(a, function (b) { return b.bottomMargin = _this.j5; });
        this.nd(a, function (b) { return b.textStyle = _this.lh; });
        this.ne(a, function (b) { return b.textStyle = _this.l5; });
    };
    XYChart.prototype.ni = function (a) {
        var _this = this;
        this.nd(a, function (b) { return b.leftMargin = _this.kd; });
        this.nd(a, function (b) { return b.topMargin = _this.kf; });
        this.nd(a, function (b) { return b.rightMargin = _this.ke; });
        this.nd(a, function (b) { return b.bottomMargin = _this.kc; });
        this.nd(a, function (b) { return b.textColor = _this.oi; });
        this.ne(a, function (b) { return b.textColor = _this.oo; });
        this.ne(a, function (b) { return b.leftMargin = _this.kn; });
        this.ne(a, function (b) { return b.topMargin = _this.kq; });
        this.ne(a, function (b) { return b.rightMargin = _this.kp; });
        this.ne(a, function (b) { return b.bottomMargin = _this.km; });
        this.nd(a, function (b) { return b.textStyle = _this.mm; });
        this.ne(a, function (b) { return b.textStyle = _this.na; });
    };
    XYChart.prototype.hk = 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.fx = this.em(a, b);
        this.dataChart.series.add(c);
    };
    XYChart.prototype.nj = function (a) {
        this.nk(a, null);
    };
    XYChart.prototype.nk = function (a, b) {
        a(this.id());
    };
    XYChart.prototype.no = function (a, b) {
        a(this.ie());
    };
    XYChart.prototype.nn = function (a) {
        this.no(a, true);
    };
    XYChart.prototype.nm = function (a) {
        this.ne(this.id(), a);
    };
    XYChart.prototype.nq = function (a) {
        this.ne(this.ie(), a);
    };
    XYChart.prototype.np = function (a) {
        this.nd(this.ie(), a);
    };
    XYChart.prototype.nl = function (a) {
        this.nd(this.id(), a);
    };
    XYChart.prototype.jp = function (a) {
        var b = this.id();
        return b.dy(a, new ScalerParams(1, this.h8, this.h7, b.ca));
    };
    XYChart.prototype.jr = function (a) {
        var b = this.id();
        return b.d1(a, new ScalerParams(1, this.h8, this.h7, b.ca));
    };
    XYChart.prototype.jq = function (a) {
        var b = this.ie();
        return b.dy(a, new ScalerParams(1, this.h8, this.h7, b.ca));
    };
    XYChart.prototype.js = function (a) {
        var b = this.ie();
        return b.d1(a, new ScalerParams(1, this.h8, this.h7, b.ca));
    };
    XYChart.prototype.hi = function (a) {
        _super.prototype.hi.call(this, a);
        if (a == null) {
            return;
        }
        if (a.axes != null) {
            var b = this.id();
            var c = this.ie();
            if (a.axes.contains(b)) {
                a.axes.remove(b);
            }
            if (a.axes.contains(c)) {
                a.axes.remove(c);
            }
        }
    };
    XYChart.k3 = 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.id());
            this.dataChart.axes.add(this.ie());
        }
    };
    XYChart.prototype.nf = function (a) {
        var _this = this;
        if (a != null && this.di != null && a.eu == null) {
            a.provideRenderer(this.di);
        }
        a.is = this.oc;
        a.d5 = this.jz;
        a.it = this.od;
        a.d8 = this.j0;
        a.iv = this.of;
        a.ep = this.j1;
        a.iu = this.oe;
        a.eq = this.j2;
        a.iw = this.og;
        a.er = this.j3;
        a.cq = true;
        var b = a == this.id();
        if (b) {
            a.gc = this.lw;
        }
        a.e9 = this.kt;
        a.fo = this.k9;
        a.ag = this.ib;
        this.nd(a, function (c) { return c.angle = _this.ju; });
        this.nd(a, function (c) {
            if (c.extent != _this.jt) {
                c.extent = _this.jt;
            }
        });
        this.nd(a, function (c) { return c.horizontalAlignment = _this.nu; });
        this.nd(a, function (c) { return c.verticalAlignment = _this.os; });
        this.nd(a, function (c) { return c.visibility = _this.ox; });
        this.ne(a, function (c) { return c.horizontalAlignment = _this.nv; });
        this.ne(a, function (c) { return c.angle = _this.j4; });
        this.ng(a);
    };
    XYChart.prototype.nh = function (a) {
        var _this = this;
        if (a == null) {
            return;
        }
        if (this.di != null && a.eu == null) {
            a.provideRenderer(this.di);
        }
        this.nd(a, function (b) { return b.angle = _this.kb; });
        this.nd(a, function (b) {
            if (b.extent != _this.ka) {
                b.extent = _this.ka;
            }
        });
        this.nd(a, function (b) { return b.horizontalAlignment = _this.nw; });
        this.nd(a, function (b) { return b.verticalAlignment = _this.ot; });
        this.nd(a, function (b) { return b.visibility = _this.oy; });
        this.nd(a, function (b) { return b.location = _this.il; });
        this.ne(a, function (b) { return b.verticalAlignment = _this.ou; });
        this.ne(a, function (b) { return b.angle = _this.kl; });
        a.is = this.oj;
        a.d5 = this.kg;
        a.it = this.ok;
        a.d8 = this.kh;
        a.iv = this.om;
        a.ep = this.ki;
        a.iu = this.ol;
        a.eq = this.kj;
        a.iw = this.on;
        a.er = this.kk;
        var b = a == this.ie();
        if (b) {
            a.gc = this.m1;
        }
        a.fo = this.md;
        a.ag = this.ic;
        this.ni(a);
    };
    XYChart.prototype.gb = function () {
        _super.prototype.gb.call(this);
        this.nf(this.id());
        this.nh(this.ie());
    };
    XYChart.prototype.nd = function (a, b) {
        if (a == null) {
            return;
        }
        if (a.ay == null) {
            a.ay = new AxisLabelSettings();
            a.ay.angle = a.dm();
            a.ay.bottomMargin = a.dn();
            a.ay.leftMargin = a.dp();
            a.ay.rightMargin = a.dq();
            a.ay.topMargin = a.dr();
            a.ay.horizontalAlignment = a.im();
            a.ay.location = a.az();
            a.ay.verticalAlignment = a.jg();
        }
        b(a.ay);
    };
    XYChart.prototype.ne = function (a, b) {
        if (a == null) {
            return;
        }
        if (a.be == null) {
            a.be = new TitleSettings();
            a.be.bottomMargin = a.dt();
            a.be.leftMargin = a.du();
            a.be.rightMargin = a.dv();
            a.be.topMargin = a.dw();
            a.be.location = a.a0();
            a.be.angle = a.ds();
            a.be.horizontalAlignment = a.io();
            a.be.verticalAlignment = a.jh();
        }
        b(a.be);
    };
    XYChart.prototype.g3 = function (a, b, c) {
        var _this = this;
        _super.prototype.g3.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelAngle":
                this.nl(function (d) { return d.angle = _this.ju; });
                break;
            case "YAxisLabelAngle":
                this.np(function (d) { return d.angle = _this.kb; });
                break;
            case "XAxisLabelHorizontalAlignment":
                this.nl(function (d) { return d.horizontalAlignment = _this.nu; });
                break;
            case "YAxisLabelHorizontalAlignment":
                this.np(function (d) { return d.horizontalAlignment = _this.nw; });
                break;
            case "XAxisLabelVerticalAlignment":
                this.nl(function (d) { return d.verticalAlignment = _this.os; });
                break;
            case "YAxisLabelVerticalAlignment":
                this.np(function (d) { return d.verticalAlignment = _this.ot; });
                break;
            case "XAxisLabelVisibility":
                this.nl(function (d) { return d.visibility = _this.ox; });
                break;
            case "YAxisLabelVisibility":
                this.np(function (d) { return d.visibility = _this.oy; });
                break;
            case "XAxisLabel":
                this.nj(function (d) { return d.e9 = _this.kt; });
                break;
            case "YAxisLabel":
                this.nn(function (d) { return d.e9 = _this.ku; });
                break;
            case "XAxisLabelFormat":
                this.nj(function (d) { return d.fo = _this.k9; });
                break;
            case "XAxisLabelFormatSpecifiers":
                this.nj(function (d) { return d.ag = _this.ib; });
                break;
            case "YAxisLabelFormat":
                this.nn(function (d) { return d.fo = _this.md; });
                break;
            case "YAxisLabelFormatSpecifiers":
                this.nn(function (d) { return d.ag = _this.ic; });
                break;
            case "XAxisTitleAngle":
                this.nm(function (d) { return d.angle = _this.j4; });
                break;
            case "YAxisTitleAngle":
                this.nq(function (d) { return d.angle = _this.kl; });
                break;
            case "XAxisTitleAlignment":
                this.nm(function (d) { return d.horizontalAlignment = _this.nv; });
                break;
            case "YAxisTitleAlignment":
                this.nq(function (d) { return d.verticalAlignment = _this.ou; });
                break;
            case "XAxisTitle":
                this.nj(function (d) { return d.gc = _this.lw; });
                break;
            case "YAxisTitle":
                this.no(function (d) { return d.gc = _this.m1; }, false);
                break;
            case "XAxisMajorStroke":
                this.nk(function (d) { return d.is = _this.oc; }, a);
                break;
            case "YAxisMajorStroke":
                this.nn(function (d) { return d.is = _this.oj; });
                break;
            case "XAxisMajorStrokeThickness":
                this.nk(function (d) { return d.d5 = _this.jz; }, a);
                break;
            case "YAxisMajorStrokeThickness":
                this.nn(function (d) { return d.d5 = _this.kg; });
                break;
            case "XAxisMinorStroke":
                this.nj(function (d) { return d.it = _this.od; });
                break;
            case "YAxisMinorStroke":
                this.nn(function (d) { return d.it = _this.ok; });
                break;
            case "XAxisMinorStrokeThickness":
                this.nj(function (d) { return d.d8 = _this.j0; });
                break;
            case "YAxisMinorStrokeThickness":
                this.nn(function (d) { return d.d8 = _this.kh; });
                break;
            case "XAxisTickLength":
                this.nj(function (d) { return d.eq = _this.j2; });
                break;
            case "YAxisTickLength":
                this.nn(function (d) { return d.eq = _this.kj; });
                break;
            case "XAxisTickStroke":
                this.nj(function (d) { return d.iw = _this.og; });
                break;
            case "YAxisTickStroke":
                this.nn(function (d) { return d.iw = _this.on; });
                break;
            case "XAxisTickStrokeThickness":
                this.nj(function (d) { return d.er = _this.j3; });
                break;
            case "YAxisTickStrokeThickness":
                this.nn(function (d) { return d.er = _this.kk; });
                break;
            case "XAxisStroke":
                this.nj(function (d) { return d.iv = _this.of; });
                break;
            case "YAxisStroke":
                this.nn(function (d) { return d.iv = _this.om; });
                break;
            case "XAxisStrokeThickness":
                this.nj(function (d) { return d.ep = _this.j1; });
                break;
            case "YAxisStrokeThickness":
                this.nn(function (d) { return d.ep = _this.ki; });
                break;
            case "XAxisExtent":
                this.nl(function (d) { return d.extent = _this.jt; });
                break;
            case "YAxisExtent":
                this.np(function (d) { return d.extent = _this.ka; });
                break;
            case "XAxisStrip":
                this.nj(function (d) { return d.iu = _this.oe; });
                break;
            case "YAxisStrip":
                this.nn(function (d) { return d.iu = _this.ol; });
                break;
            case "XAxisInverted":
                this.nj(function (d) { return d.ca = _this.ip; });
                break;
            case "YAxisInverted":
                this.nn(function (d) { return d.ca = _this.iq; });
                break;
            case "YAxisLabelLocation":
                this.np(function (d) { return d.location = _this.il; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "kt", {
        get: function () {
            return this.kr;
        },
        set: function (a) {
            var b = this.kt;
            if (a != b) {
                this.kr = a;
                this.g3("XAxisLabel", b, this.kt);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ku", {
        get: function () {
            return this.ks;
        },
        set: function (a) {
            var b = this.ku;
            if (a != b) {
                this.ks = a;
                this.g3("YAxisLabel", b, this.ku);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oc", {
        get: function () {
            return this.ny;
        },
        set: function (a) {
            var b = this.oc;
            if (a != b) {
                this.ny = a;
                this.g3("XAxisMajorStroke", b, this.oc);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oj", {
        get: function () {
            return this.n5;
        },
        set: function (a) {
            var b = this.oj;
            if (a != b) {
                this.n5 = a;
                this.g3("YAxisMajorStroke", b, this.oj);
            }
        },
        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.g3("XAxisMajorStrokeThickness", 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.g3("YAxisMajorStrokeThickness", b, this.kg);
            }
        },
        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.g3("XAxisMinorStrokeThickness", 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.g3("YAxisMinorStrokeThickness", b, this.kh);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oe", {
        get: function () {
            return this.n0;
        },
        set: function (a) {
            var b = this.oe;
            if (a != b) {
                this.n0 = a;
                this.g3("XAxisStrip", b, this.oe);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ol", {
        get: function () {
            return this.n7;
        },
        set: function (a) {
            var b = this.ol;
            if (a != b) {
                this.n7 = a;
                this.g3("YAxisStrip", b, this.ol);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "of", {
        get: function () {
            return this.n1;
        },
        set: function (a) {
            var b = this.of;
            if (a != b) {
                this.n1 = a;
                this.g3("XAxisStroke", b, this.of);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "om", {
        get: function () {
            return this.n8;
        },
        set: function (a) {
            var b = this.om;
            if (a != b) {
                this.n8 = a;
                this.g3("YAxisStroke", b, this.om);
            }
        },
        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.g3("XAxisStrokeThickness", 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.g3("YAxisStrokeThickness", b, this.ki);
            }
        },
        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.g3("XAxisTickLength", 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.g3("YAxisTickLength", b, this.kj);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "og", {
        get: function () {
            return this.n2;
        },
        set: function (a) {
            var b = this.og;
            if (a != b) {
                this.n2 = a;
                this.g3("XAxisTickStroke", b, this.og);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "on", {
        get: function () {
            return this.n9;
        },
        set: function (a) {
            var b = this.on;
            if (a != b) {
                this.n9 = a;
                this.g3("YAxisTickStroke", b, this.on);
            }
        },
        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.g3("XAxisTickStrokeThickness", 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.g3("YAxisTickStrokeThickness", b, this.kk);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lw", {
        get: function () {
            return this.kx;
        },
        set: function (a) {
            var b = this.lw;
            if (a != b) {
                this.kx = a;
                this.g3("XAxisTitle", b, this.lw);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "m1", {
        get: function () {
            return this.k1;
        },
        set: function (a) {
            var b = this.m1;
            if (a != b) {
                this.k1 = a;
                this.g3("YAxisTitle", b, this.m1);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "od", {
        get: function () {
            return this.nz;
        },
        set: function (a) {
            var b = this.od;
            if (a != b) {
                this.nz = a;
                this.g3("XAxisMinorStroke", b, this.od);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ok", {
        get: function () {
            return this.n6;
        },
        set: function (a) {
            var b = this.ok;
            if (a != b) {
                this.n6 = a;
                this.g3("YAxisMinorStroke", b, this.ok);
            }
        },
        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.g3("XAxisLabelAngle", 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.g3("YAxisLabelAngle", b, this.kb);
            }
        },
        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.g3("XAxisExtent", 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.g3("YAxisExtent", b, this.ka);
            }
        },
        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.g3("XAxisTitleAngle", b, this.j4);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kl", {
        get: function () {
            return this.jj;
        },
        set: function (a) {
            var b = this.kl;
            if (a != b) {
                this.jj = a;
                this.g3("YAxisTitleAngle", b, this.kl);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ip", {
        get: function () {
            return this.im;
        },
        set: function (a) {
            var b = this.ip;
            if (a != b) {
                this.im = a;
                this.g3("XAxisInverted", b, this.ip);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "iq", {
        get: function () {
            return this.io;
        },
        set: function (a) {
            var b = this.iq;
            if (a != b) {
                this.io = a;
                this.g3("YAxisInverted", b, this.iq);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "nv", {
        get: function () {
            return this.ns;
        },
        set: function (a) {
            var b = this.nv;
            if (a != b) {
                this.ns = a;
                this.g3("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.nv));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ou", {
        get: function () {
            return this.or;
        },
        set: function (a) {
            var b = this.ou;
            if (a != b) {
                this.or = a;
                this.g3("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ou));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "nu", {
        get: function () {
            return this.nr;
        },
        set: function (a) {
            var b = this.nu;
            if (a != b) {
                this.nr = a;
                this.g3("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.nu));
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.get_nw = function () {
        return this.nt;
    };
    XYChart.prototype.set_nw = function (a) {
        var b = this.nw;
        if (a != b) {
            this.nt = a;
            this.g3("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.nw));
        }
    };
    Object.defineProperty(XYChart.prototype, "nw", {
        get: function () {
            return this.get_nw();
        },
        set: function (a) {
            this.set_nw(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "os", {
        get: function () {
            return this.op;
        },
        set: function (a) {
            var b = this.os;
            if (a != b) {
                this.op = a;
                this.g3("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.os));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ot", {
        get: function () {
            return this.oq;
        },
        set: function (a) {
            var b = this.ot;
            if (a != b) {
                this.oq = a;
                this.g3("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ot));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ox", {
        get: function () {
            return this.ov;
        },
        set: function (a) {
            var b = this.ox;
            if (a != b) {
                this.ov = a;
                this.g3("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.ox));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oy", {
        get: function () {
            return this.ow;
        },
        set: function (a) {
            var b = this.oy;
            if (a != b) {
                this.ow = a;
                this.g3("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.oy));
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.prototype.get_il = function () {
        return this.ik;
    };
    XYChart.prototype.set_il = function (a) {
        var b = this.il;
        if (a != b) {
            this.ik = a;
            this.g3("YAxisLabelLocation", enumGetBox(AxisLabelsLocation_$type, b), enumGetBox(AxisLabelsLocation_$type, this.il));
        }
    };
    Object.defineProperty(XYChart.prototype, "il", {
        get: function () {
            return this.get_il();
        },
        set: function (a) {
            this.set_il(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "k9", {
        get: function () {
            return this.kv;
        },
        set: function (a) {
            var b = this.kv;
            if (a != b) {
                this.kv = a;
                this.g3("XAxisLabelFormat", b, this.kv);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ib", {
        get: function () {
            return this.h9;
        },
        set: function (a) {
            var b = this.h9;
            if (a != b) {
                this.h9 = a;
                this.g3("XAxisLabelFormatSpecifiers", b, this.h9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "md", {
        get: function () {
            return this.kz;
        },
        set: function (a) {
            var b = this.kz;
            if (a != b) {
                this.kz = a;
                this.g3("YAxisLabelFormat", b, this.kz);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ic", {
        get: function () {
            return this.ia;
        },
        set: function (a) {
            var b = this.ia;
            if (a != b) {
                this.ia = a;
                this.g3("YAxisLabelFormatSpecifiers", b, this.ia);
            }
        },
        enumerable: true,
        configurable: true
    });
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
}(DomainChart));
export { XYChart };
//# sourceMappingURL=XYChart.js.map
