/*
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 { __extends, __values } from "tslib";
import { DomainChart } from "./DomainChart";
import { fromEnum, enumGetBox, markType } from "igniteui-angular-core";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { AxisLabelsLocation_$type } from "./AxisLabelsLocation";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
/**
 * @hidden
 */
var XYChart = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(XYChart, _super);
    function XYChart() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.kc = null;
        _this.kd = null;
        _this.kp = 0;
        _this.kr = 5;
        _this.kq = 0;
        _this.ko = 5;
        _this.k6 = 5;
        _this.k8 = 0;
        _this.k7 = 5;
        _this.k5 = 0;
        _this.pw = null;
        _this.p3 = null;
        _this.pu = null;
        _this.pv = null;
        _this.k0 = 0;
        _this.lh = 0;
        _this.kz = NaN;
        _this.lg = NaN;
        _this.k2 = NaN;
        _this.lj = NaN;
        _this.k1 = NaN;
        _this.li = NaN;
        _this.ky = NaN;
        _this.lf = NaN;
        _this.p2 = null;
        _this.p9 = null;
        _this.mr = null;
        _this.mv = null;
        _this.mt = null;
        _this.mx = null;
        _this.mm = null;
        _this.mn = null;
        _this.px = null;
        _this.p4 = null;
        _this.ks = 1;
        _this.k9 = 1;
        _this.kt = 1;
        _this.la = 0;
        _this.pz = null;
        _this.p6 = null;
        _this.p0 = null;
        _this.p7 = null;
        _this.ku = 1;
        _this.lb = 1;
        _this.kv = 5;
        _this.lc = 0;
        _this.p1 = null;
        _this.p8 = null;
        _this.kw = 2;
        _this.ld = 2;
        _this.ms = null;
        _this.mw = null;
        _this.py = null;
        _this.p5 = null;
        _this.kn = 0;
        _this.k4 = 0;
        _this.km = NaN;
        _this.k3 = NaN;
        _this.kx = 0;
        _this.le = -90;
        _this.ki = false;
        _this.kj = false;
        _this.pp = 1;
        _this.qs = 1;
        _this.po = 1;
        _this.pq = 2;
        _this.qq = 0;
        _this.qr = 1;
        _this.qw = 0;
        _this.qx = 0;
        _this.kg = 2;
        _this.mq = null;
        _this.j6 = null;
        _this.mu = null;
        _this.j7 = null;
        return _this;
    }
    XYChart.prototype.provideContainer = function (a) {
        if (a != null) {
            var b = this.ka();
            var c = this.kb();
            if (b != null) {
                b.provideRenderer(a);
            }
            if (c != null) {
                c.provideRenderer(a);
            }
        }
        _super.prototype.provideContainer.call(this, a);
    };
    XYChart.prototype.ic = function () {
        _super.prototype.ic.call(this);
        var a = this.ka();
        var b = this.kb();
        if (a != null && a.ay != null) {
            this.qc = a.ay.textColor;
        }
        if (b != null && b.ay != null) {
            this.qj = b.ay.textColor;
        }
    };
    XYChart.prototype.i0 = function (a, b, c) {
        var _this = this;
        _super.prototype.i0.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelLeftMargin":
                this.pi(function (d) { return d.leftMargin = _this.lr; });
                break;
            case "XAxisLabelTopMargin":
                this.pi(function (d) { return d.topMargin = _this.lt; });
                break;
            case "XAxisLabelRightMargin":
                this.pi(function (d) { return d.rightMargin = _this.ls; });
                break;
            case "XAxisLabelBottomMargin":
                this.pi(function (d) { return d.bottomMargin = _this.lq; });
                break;
            case "YAxisLabelLeftMargin":
                this.pm(function (d) { return d.leftMargin = _this.l8; });
                break;
            case "YAxisLabelTopMargin":
                this.pm(function (d) { return d.topMargin = _this.ma; });
                break;
            case "YAxisLabelRightMargin":
                this.pm(function (d) { return d.rightMargin = _this.l9; });
                break;
            case "YAxisLabelBottomMargin":
                this.pm(function (d) { return d.bottomMargin = _this.l7; });
                break;
            case "ActualItemsSource":
            case "ShouldDisplayMockData":
            case "ShouldUseSkeletonStyleForMockData":
                this.qa = this.jz(this.qc);
                this.qb = this.jz(this.qj);
                break;
            case "XAxisLabelTextColor":
                this.qa = this.jz(this.qc);
                break;
            case "YAxisLabelTextColor":
                this.qb = this.jz(this.qj);
                break;
            case "ActualXAxisLabelTextColor":
                this.pi(function (d) { return d.textColor = _this.qa; });
                break;
            case "ActualYAxisLabelTextColor":
                this.pm(function (d) { return d.textColor = _this.qb; });
                break;
            case "XAxisTitleMargin":
                this.pj(function (d) { return d.margin = _this.l2; });
                break;
            case "YAxisTitleMargin":
                this.pn(function (d) { return d.margin = _this.mj; });
                break;
            case "XAxisTitleLeftMargin":
                this.pj(function (d) { return d.leftMargin = _this.l1; });
                break;
            case "YAxisTitleLeftMargin":
                this.pn(function (d) { return d.leftMargin = _this.mi; });
                break;
            case "XAxisTitleTopMargin":
                this.pj(function (d) { return d.topMargin = _this.l4; });
                break;
            case "YAxisTitleTopMargin":
                this.pn(function (d) { return d.topMargin = _this.ml; });
                break;
            case "XAxisTitleRightMargin":
                this.pj(function (d) { return d.rightMargin = _this.l3; });
                break;
            case "YAxisTitleRightMargin":
                this.pn(function (d) { return d.rightMargin = _this.mk; });
                break;
            case "XAxisTitleBottomMargin":
                this.pj(function (d) { return d.bottomMargin = _this.l0; });
                break;
            case "YAxisTitleBottomMargin":
                this.pn(function (d) { return d.bottomMargin = _this.mh; });
                break;
            case "XAxisTitleTextColor":
                this.pj(function (d) { return d.textColor = _this.qi; });
                break;
            case "YAxisTitleTextColor":
                this.pn(function (d) { return d.textColor = _this.qp; });
                break;
            case "XAxisFormatLabel":
                this.pg(function (d) { return d.at = _this.ke; });
                break;
            case "YAxisFormatLabel":
                this.pk(function (d) { return d.at = _this.kf; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "ke", {
        get: function () {
            return this.kc;
        },
        set: function (a) {
            var b = this.ke;
            if (a != b) {
                this.kc = a;
                this.iz("XAxisFormatLabel", b, this.ke);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kf", {
        get: function () {
            return this.kd;
        },
        set: function (a) {
            var b = this.kf;
            if (a != b) {
                this.kd = a;
                this.iz("YAxisFormatLabel", b, this.kf);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lr", {
        get: function () {
            return this.kp;
        },
        set: function (a) {
            var b = this.lr;
            if (a != b) {
                this.kp = a;
                this.iz("XAxisLabelLeftMargin", b, this.lr);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lt", {
        get: function () {
            return this.kr;
        },
        set: function (a) {
            var b = this.lt;
            if (a != b) {
                this.kr = a;
                this.iz("XAxisLabelTopMargin", b, this.lt);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ls", {
        get: function () {
            return this.kq;
        },
        set: function (a) {
            var b = this.ls;
            if (a != b) {
                this.kq = a;
                this.iz("XAxisLabelRightMargin", b, this.ls);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lq", {
        get: function () {
            return this.ko;
        },
        set: function (a) {
            var b = this.lq;
            if (a != b) {
                this.ko = a;
                this.iz("XAxisLabelBottomMargin", b, this.lq);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l8", {
        get: function () {
            return this.k6;
        },
        set: function (a) {
            var b = this.l8;
            if (a != b) {
                this.k6 = a;
                this.iz("YAxisLabelLeftMargin", b, this.l8);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ma", {
        get: function () {
            return this.k8;
        },
        set: function (a) {
            var b = this.ma;
            if (a != b) {
                this.k8 = a;
                this.iz("YAxisLabelTopMargin", b, this.ma);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l9", {
        get: function () {
            return this.k7;
        },
        set: function (a) {
            var b = this.l9;
            if (a != b) {
                this.k7 = a;
                this.iz("YAxisLabelRightMargin", b, this.l9);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l7", {
        get: function () {
            return this.k5;
        },
        set: function (a) {
            var b = this.l7;
            if (a != b) {
                this.k5 = a;
                this.iz("YAxisLabelBottomMargin", b, this.l7);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qc", {
        get: function () {
            return this.pw;
        },
        set: function (a) {
            var b = this.qc;
            if (a != b) {
                this.pw = a;
                this.iz("XAxisLabelTextColor", b, this.qc);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qj", {
        get: function () {
            return this.p3;
        },
        set: function (a) {
            var b = this.qj;
            if (a != b) {
                this.p3 = a;
                this.iz("YAxisLabelTextColor", b, this.qj);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qa", {
        get: function () {
            return this.pu;
        },
        set: function (a) {
            var b = this.pu;
            if (a != b) {
                this.pu = a;
                this.iz("ActualXAxisLabelTextColor", b, this.qa);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qb", {
        get: function () {
            return this.pv;
        },
        set: function (a) {
            var b = this.pv;
            if (a != b) {
                this.pv = a;
                this.iz("ActualYAxisLabelTextColor", b, this.qb);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l2", {
        get: function () {
            return this.k0;
        },
        set: function (a) {
            var b = this.l2;
            if (a != b) {
                this.k0 = a;
                this.iz("XAxisTitleMargin", b, this.l2);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mj", {
        get: function () {
            return this.lh;
        },
        set: function (a) {
            var b = this.mj;
            if (a != b) {
                this.lh = a;
                this.iz("YAxisTitleMargin", b, this.mj);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l1", {
        get: function () {
            return this.kz;
        },
        set: function (a) {
            var b = this.l1;
            if (a != b) {
                this.kz = a;
                this.iz("XAxisTitleLeftMargin", b, this.l1);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mi", {
        get: function () {
            return this.lg;
        },
        set: function (a) {
            var b = this.mi;
            if (a != b) {
                this.lg = a;
                this.iz("YAxisTitleLeftMargin", b, this.mi);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l4", {
        get: function () {
            return this.k2;
        },
        set: function (a) {
            var b = this.l4;
            if (a != b) {
                this.k2 = a;
                this.iz("XAxisTitleTopMargin", b, this.l4);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ml", {
        get: function () {
            return this.lj;
        },
        set: function (a) {
            var b = this.ml;
            if (a != b) {
                this.lj = a;
                this.iz("YAxisTitleTopMargin", b, this.ml);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l3", {
        get: function () {
            return this.k1;
        },
        set: function (a) {
            var b = this.l3;
            if (a != b) {
                this.k1 = a;
                this.iz("XAxisTitleRightMargin", b, this.l3);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mk", {
        get: function () {
            return this.li;
        },
        set: function (a) {
            var b = this.mk;
            if (a != b) {
                this.li = a;
                this.iz("YAxisTitleRightMargin", b, this.mk);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l0", {
        get: function () {
            return this.ky;
        },
        set: function (a) {
            var b = this.l0;
            if (a != b) {
                this.ky = a;
                this.iz("XAxisTitleBottomMargin", b, this.l0);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mh", {
        get: function () {
            return this.lf;
        },
        set: function (a) {
            var b = this.mh;
            if (a != b) {
                this.lf = a;
                this.iz("YAxisTitleBottomMargin", b, this.mh);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qi", {
        get: function () {
            return this.p2;
        },
        set: function (a) {
            var b = this.qi;
            if (a != b) {
                this.p2 = a;
                this.iz("XAxisTitleTextColor", b, this.qi);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qp", {
        get: function () {
            return this.p9;
        },
        set: function (a) {
            var b = this.qp;
            if (a != b) {
                this.p9 = a;
                this.iz("YAxisTitleTextColor", b, this.qp);
            }
        },
        enumerable: false,
        configurable: true
    });
    XYChart.prototype.i1 = function (a, b, c) {
        var _this = this;
        _super.prototype.i1.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelTextStyle":
                this.pi(function (d) { return d.textStyle = _this.ne; });
                break;
            case "YAxisLabelTextStyle":
                this.pm(function (d) { return d.textStyle = _this.oj; });
                break;
            case "XAxisTitleTextStyle":
                this.pj(function (d) { return d.textStyle = _this.n2; });
                break;
            case "YAxisTitleTextStyle":
                this.pn(function (d) { return d.textStyle = _this.o7; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "ne", {
        get: function () {
            return this.mr;
        },
        set: function (a) {
            var b = this.ne;
            if (a != b) {
                this.mr = a;
                this.iz("XAxisLabelTextStyle", b, this.ne);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oj", {
        get: function () {
            return this.mv;
        },
        set: function (a) {
            var b = this.oj;
            if (a != b) {
                this.mv = a;
                this.iz("YAxisLabelTextStyle", b, this.oj);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "n2", {
        get: function () {
            return this.mt;
        },
        set: function (a) {
            var b = this.n2;
            if (a != b) {
                this.mt = a;
                this.iz("XAxisTitleTextStyle", b, this.n2);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "o7", {
        get: function () {
            return this.mx;
        },
        set: function (a) {
            var b = this.o7;
            if (a != b) {
                this.mx = a;
                this.iz("YAxisTitleTextStyle", b, this.o7);
            }
        },
        enumerable: false,
        configurable: true
    });
    XYChart.prototype.pd = function (a) {
        var _this = this;
        this.pa(a, function (b) { return b.leftMargin = _this.lr; });
        this.pa(a, function (b) { return b.topMargin = _this.lt; });
        this.pa(a, function (b) { return b.rightMargin = _this.ls; });
        this.pa(a, function (b) { return b.bottomMargin = _this.lq; });
        this.pa(a, function (b) { return b.textColor = _this.qa; });
        this.pb(a, function (b) { return b.textColor = _this.qi; });
        this.pb(a, function (b) { return b.leftMargin = _this.l1; });
        this.pb(a, function (b) { return b.topMargin = _this.l4; });
        this.pb(a, function (b) { return b.rightMargin = _this.l3; });
        this.pb(a, function (b) { return b.bottomMargin = _this.l0; });
        this.pa(a, function (b) { return b.textStyle = _this.ne; });
        this.pb(a, function (b) { return b.textStyle = _this.n2; });
    };
    XYChart.prototype.pf = function (a) {
        var _this = this;
        this.pa(a, function (b) { return b.leftMargin = _this.l8; });
        this.pa(a, function (b) { return b.topMargin = _this.ma; });
        this.pa(a, function (b) { return b.rightMargin = _this.l9; });
        this.pa(a, function (b) { return b.bottomMargin = _this.l7; });
        this.pa(a, function (b) { return b.textColor = _this.qb; });
        this.pb(a, function (b) { return b.textColor = _this.qp; });
        this.pb(a, function (b) { return b.leftMargin = _this.mi; });
        this.pb(a, function (b) { return b.topMargin = _this.ml; });
        this.pb(a, function (b) { return b.rightMargin = _this.mk; });
        this.pb(a, function (b) { return b.bottomMargin = _this.mh; });
        this.pa(a, function (b) { return b.textStyle = _this.oj; });
        this.pb(a, function (b) { return b.textStyle = _this.o7; });
    };
    XYChart.prototype.jg = function (a) {
        var b = this.ab(a);
        var c = this.a3(a, b);
        if (c == null) {
            return;
        }
        c.itemsSource = a.data;
        c.name = this.f0(a);
        c.gy = this.f1(a, b);
        this.dataChart.series.add(c);
    };
    XYChart.prototype.pg = function (a) {
        this.ph(a, null);
    };
    XYChart.prototype.ph = function (a, b) {
        a(this.ka());
    };
    XYChart.prototype.pl = function (a, b) {
        a(this.kb());
    };
    XYChart.prototype.pk = function (a) {
        this.pl(a, true);
    };
    XYChart.prototype.pj = function (a) {
        this.pb(this.ka(), a);
    };
    XYChart.prototype.pn = function (a) {
        this.pb(this.kb(), a);
    };
    XYChart.prototype.pm = function (a) {
        this.pa(this.kb(), a);
    };
    XYChart.prototype.pi = function (a) {
        this.pa(this.ka(), a);
    };
    XYChart.prototype.lk = function (a) {
        var b = this.ka();
        return b.dz(a, new ScalerParams(1, this.j5, this.j4, b.ca));
    };
    XYChart.prototype.lm = function (a) {
        var b = this.ka();
        return b.d2(a, new ScalerParams(1, this.j5, this.j4, b.ca));
    };
    XYChart.prototype.ll = function (a) {
        var b = this.kb();
        return b.dz(a, new ScalerParams(1, this.j5, this.j4, b.ca));
    };
    XYChart.prototype.ln = function (a) {
        var b = this.kb();
        return b.d2(a, new ScalerParams(1, this.j5, this.j4, b.ca));
    };
    XYChart.prototype.je = function (a) {
        _super.prototype.je.call(this, a);
        if (a == null) {
            return;
        }
        if (a.axes != null) {
            var b = this.ka();
            var c = this.kb();
            if (a.axes.contains(b)) {
                a.axes.remove(b);
            }
            if (a.axes.contains(c)) {
                a.axes.remove(c);
            }
        }
    };
    XYChart.m0 = function (a, b) {
        var e_1, _a;
        try {
            for (var _b = __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.h7 = function (a) {
        _super.prototype.h7.call(this, a);
        if (a == this.dataChart) {
            this.dataChart.axes.add(this.ka());
            this.dataChart.axes.add(this.kb());
        }
    };
    XYChart.prototype.pc = function (a) {
        var _this = this;
        if (a != null && this.er != null && a.ev == null) {
            a.provideRenderer(this.er);
        }
        a.it = this.qd;
        a.d6 = this.lu;
        a.iu = this.qe;
        a.d9 = this.lv;
        a.iw = this.qg;
        a.eq = this.lw;
        a.iv = this.qf;
        a.er = this.lx;
        a.ix = this.qh;
        a.es = this.ly;
        a.cq = true;
        var b = a == this.ka();
        if (b) {
            a.gd = this.nt;
        }
        a.fa = this.mo;
        a.fp = this.m6;
        a.ag = this.j8;
        this.pa(a, function (c) { return c.angle = _this.lp; });
        this.pa(a, function (c) {
            if (c.extent != _this.lo) {
                c.extent = _this.lo;
            }
        });
        this.pa(a, function (c) { return c.horizontalAlignment = _this.pr; });
        this.pa(a, function (c) { return c.verticalAlignment = _this.qt; });
        this.pa(a, function (c) { return c.visibility = _this.qy; });
        this.pb(a, function (c) { return c.horizontalAlignment = _this.ps; });
        this.pb(a, function (c) { return c.angle = _this.lz; });
        this.pd(a);
    };
    XYChart.prototype.pe = function (a) {
        var _this = this;
        if (a == null) {
            return;
        }
        if (this.er != null && a.ev == null) {
            a.provideRenderer(this.er);
        }
        this.pa(a, function (b) { return b.angle = _this.l6; });
        this.pa(a, function (b) {
            if (b.extent != _this.l5) {
                b.extent = _this.l5;
            }
        });
        this.pa(a, function (b) { return b.horizontalAlignment = _this.pt; });
        this.pa(a, function (b) { return b.verticalAlignment = _this.qu; });
        this.pa(a, function (b) { return b.visibility = _this.qz; });
        this.pa(a, function (b) { return b.location = _this.kh; });
        this.pb(a, function (b) { return b.verticalAlignment = _this.qv; });
        this.pb(a, function (b) { return b.angle = _this.mg; });
        a.it = this.qk;
        a.d6 = this.mb;
        a.iu = this.ql;
        a.d9 = this.mc;
        a.iw = this.qn;
        a.eq = this.md;
        a.iv = this.qm;
        a.er = this.me;
        a.ix = this.qo;
        a.es = this.mf;
        var b = a == this.kb();
        if (b) {
            a.gd = this.oy;
        }
        a.fp = this.oa;
        a.ag = this.j9;
        this.pf(a);
    };
    XYChart.prototype.h4 = function () {
        _super.prototype.h4.call(this);
        this.pc(this.ka());
        this.pe(this.kb());
    };
    XYChart.prototype.pa = function (a, b) {
        if (a == null) {
            return;
        }
        if (a.ay == null) {
            a.ay = new AxisLabelSettings();
            a.ay.angle = a.dn();
            a.ay.bottomMargin = a.dp();
            a.ay.leftMargin = a.dq();
            a.ay.rightMargin = a.dr();
            a.ay.topMargin = a.ds();
            a.ay.horizontalAlignment = a.io();
            a.ay.location = a.az();
            a.ay.verticalAlignment = a.jh();
        }
        b(a.ay);
    };
    XYChart.prototype.pb = function (a, b) {
        if (a == null) {
            return;
        }
        if (a.be == null) {
            a.be = new TitleSettings();
            a.be.bottomMargin = a.du();
            a.be.leftMargin = a.dv();
            a.be.rightMargin = a.dw();
            a.be.topMargin = a.dx();
            a.be.location = a.a0();
            a.be.angle = a.dt();
            a.be.horizontalAlignment = a.ip();
            a.be.verticalAlignment = a.ji();
        }
        b(a.be);
    };
    XYChart.prototype.iz = function (a, b, c) {
        var _this = this;
        _super.prototype.iz.call(this, a, b, c);
        switch (a) {
            case "XAxisLabelAngle":
                this.pi(function (d) { return d.angle = _this.lp; });
                break;
            case "YAxisLabelAngle":
                this.pm(function (d) { return d.angle = _this.l6; });
                break;
            case "XAxisLabelHorizontalAlignment":
                this.pi(function (d) { return d.horizontalAlignment = _this.pr; });
                break;
            case "YAxisLabelHorizontalAlignment":
                this.pm(function (d) { return d.horizontalAlignment = _this.pt; });
                break;
            case "XAxisLabelVerticalAlignment":
                this.pi(function (d) { return d.verticalAlignment = _this.qt; });
                break;
            case "YAxisLabelVerticalAlignment":
                this.pm(function (d) { return d.verticalAlignment = _this.qu; });
                break;
            case "XAxisLabelVisibility":
                this.pi(function (d) { return d.visibility = _this.qy; });
                break;
            case "YAxisLabelVisibility":
                this.pm(function (d) { return d.visibility = _this.qz; });
                break;
            case "XAxisLabel":
                this.pg(function (d) { return d.fa = _this.mo; });
                break;
            case "YAxisLabel":
                this.pk(function (d) { return d.fa = _this.mp; });
                break;
            case "XAxisLabelFormat":
                this.pg(function (d) { return d.fp = _this.m6; });
                break;
            case "XAxisLabelFormatSpecifiers":
                this.pg(function (d) { return d.ag = _this.j8; });
                break;
            case "YAxisLabelFormat":
                this.pk(function (d) { return d.fp = _this.oa; });
                break;
            case "YAxisLabelFormatSpecifiers":
                this.pk(function (d) { return d.ag = _this.j9; });
                break;
            case "XAxisTitleAngle":
                this.pj(function (d) { return d.angle = _this.lz; });
                break;
            case "YAxisTitleAngle":
                this.pn(function (d) { return d.angle = _this.mg; });
                break;
            case "XAxisTitleAlignment":
                this.pj(function (d) { return d.horizontalAlignment = _this.ps; });
                break;
            case "YAxisTitleAlignment":
                this.pn(function (d) { return d.verticalAlignment = _this.qv; });
                break;
            case "XAxisTitle":
                this.pg(function (d) { return d.gd = _this.nt; });
                break;
            case "YAxisTitle":
                this.pl(function (d) { return d.gd = _this.oy; }, false);
                break;
            case "XAxisMajorStroke":
                this.ph(function (d) { return d.it = _this.qd; }, a);
                break;
            case "YAxisMajorStroke":
                this.pk(function (d) { return d.it = _this.qk; });
                break;
            case "XAxisMajorStrokeThickness":
                this.ph(function (d) { return d.d6 = _this.lu; }, a);
                break;
            case "YAxisMajorStrokeThickness":
                this.pk(function (d) { return d.d6 = _this.mb; });
                break;
            case "XAxisMinorStroke":
                this.pg(function (d) { return d.iu = _this.qe; });
                break;
            case "YAxisMinorStroke":
                this.pk(function (d) { return d.iu = _this.ql; });
                break;
            case "XAxisMinorStrokeThickness":
                this.pg(function (d) { return d.d9 = _this.lv; });
                break;
            case "YAxisMinorStrokeThickness":
                this.pk(function (d) { return d.d9 = _this.mc; });
                break;
            case "XAxisTickLength":
                this.pg(function (d) { return d.er = _this.lx; });
                break;
            case "YAxisTickLength":
                this.pk(function (d) { return d.er = _this.me; });
                break;
            case "XAxisTickStroke":
                this.pg(function (d) { return d.ix = _this.qh; });
                break;
            case "YAxisTickStroke":
                this.pk(function (d) { return d.ix = _this.qo; });
                break;
            case "XAxisTickStrokeThickness":
                this.pg(function (d) { return d.es = _this.ly; });
                break;
            case "YAxisTickStrokeThickness":
                this.pk(function (d) { return d.es = _this.mf; });
                break;
            case "XAxisStroke":
                this.pg(function (d) { return d.iw = _this.qg; });
                break;
            case "YAxisStroke":
                this.pk(function (d) { return d.iw = _this.qn; });
                break;
            case "XAxisStrokeThickness":
                this.pg(function (d) { return d.eq = _this.lw; });
                break;
            case "YAxisStrokeThickness":
                this.pk(function (d) { return d.eq = _this.md; });
                break;
            case "XAxisExtent":
                this.pi(function (d) { return d.extent = _this.lo; });
                break;
            case "YAxisExtent":
                this.pm(function (d) { return d.extent = _this.l5; });
                break;
            case "XAxisStrip":
                this.pg(function (d) { return d.iv = _this.qf; });
                break;
            case "YAxisStrip":
                this.pk(function (d) { return d.iv = _this.qm; });
                break;
            case "XAxisInverted":
                this.pg(function (d) { return d.ca = _this.kk; });
                break;
            case "YAxisInverted":
                this.pk(function (d) { return d.ca = _this.kl; });
                break;
            case "YAxisLabelLocation":
                this.pm(function (d) { return d.location = _this.kh; });
                break;
        }
    };
    Object.defineProperty(XYChart.prototype, "mo", {
        get: function () {
            return this.mm;
        },
        set: function (a) {
            var b = this.mo;
            if (a != b) {
                this.mm = a;
                this.iz("XAxisLabel", b, this.mo);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mp", {
        get: function () {
            return this.mn;
        },
        set: function (a) {
            var b = this.mp;
            if (a != b) {
                this.mn = a;
                this.iz("YAxisLabel", b, this.mp);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qd", {
        get: function () {
            return this.px;
        },
        set: function (a) {
            var b = this.qd;
            if (a != b) {
                this.px = a;
                this.iz("XAxisMajorStroke", b, this.qd);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qk", {
        get: function () {
            return this.p4;
        },
        set: function (a) {
            var b = this.qk;
            if (a != b) {
                this.p4 = a;
                this.iz("YAxisMajorStroke", b, this.qk);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lu", {
        get: function () {
            return this.ks;
        },
        set: function (a) {
            var b = this.lu;
            if (a != b) {
                this.ks = a;
                this.iz("XAxisMajorStrokeThickness", b, this.lu);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mb", {
        get: function () {
            return this.k9;
        },
        set: function (a) {
            var b = this.mb;
            if (a != b) {
                this.k9 = a;
                this.iz("YAxisMajorStrokeThickness", b, this.mb);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lv", {
        get: function () {
            return this.kt;
        },
        set: function (a) {
            var b = this.lv;
            if (a != b) {
                this.kt = a;
                this.iz("XAxisMinorStrokeThickness", b, this.lv);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mc", {
        get: function () {
            return this.la;
        },
        set: function (a) {
            var b = this.mc;
            if (a != b) {
                this.la = a;
                this.iz("YAxisMinorStrokeThickness", b, this.mc);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qf", {
        get: function () {
            return this.pz;
        },
        set: function (a) {
            var b = this.qf;
            if (a != b) {
                this.pz = a;
                this.iz("XAxisStrip", b, this.qf);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qm", {
        get: function () {
            return this.p6;
        },
        set: function (a) {
            var b = this.qm;
            if (a != b) {
                this.p6 = a;
                this.iz("YAxisStrip", b, this.qm);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qg", {
        get: function () {
            return this.p0;
        },
        set: function (a) {
            var b = this.qg;
            if (a != b) {
                this.p0 = a;
                this.iz("XAxisStroke", b, this.qg);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qn", {
        get: function () {
            return this.p7;
        },
        set: function (a) {
            var b = this.qn;
            if (a != b) {
                this.p7 = a;
                this.iz("YAxisStroke", b, this.qn);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lw", {
        get: function () {
            return this.ku;
        },
        set: function (a) {
            var b = this.lw;
            if (a != b) {
                this.ku = a;
                this.iz("XAxisStrokeThickness", b, this.lw);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "md", {
        get: function () {
            return this.lb;
        },
        set: function (a) {
            var b = this.md;
            if (a != b) {
                this.lb = a;
                this.iz("YAxisStrokeThickness", b, this.md);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lx", {
        get: function () {
            return this.kv;
        },
        set: function (a) {
            var b = this.lx;
            if (a != b) {
                this.kv = a;
                this.iz("XAxisTickLength", b, this.lx);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "me", {
        get: function () {
            return this.lc;
        },
        set: function (a) {
            var b = this.me;
            if (a != b) {
                this.lc = a;
                this.iz("YAxisTickLength", b, this.me);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qh", {
        get: function () {
            return this.p1;
        },
        set: function (a) {
            var b = this.qh;
            if (a != b) {
                this.p1 = a;
                this.iz("XAxisTickStroke", b, this.qh);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qo", {
        get: function () {
            return this.p8;
        },
        set: function (a) {
            var b = this.qo;
            if (a != b) {
                this.p8 = a;
                this.iz("YAxisTickStroke", b, this.qo);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ly", {
        get: function () {
            return this.kw;
        },
        set: function (a) {
            var b = this.ly;
            if (a != b) {
                this.kw = a;
                this.iz("XAxisTickStrokeThickness", b, this.ly);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mf", {
        get: function () {
            return this.ld;
        },
        set: function (a) {
            var b = this.mf;
            if (a != b) {
                this.ld = a;
                this.iz("YAxisTickStrokeThickness", b, this.mf);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "nt", {
        get: function () {
            return this.ms;
        },
        set: function (a) {
            var b = this.nt;
            if (a != b) {
                this.ms = a;
                this.iz("XAxisTitle", b, this.nt);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oy", {
        get: function () {
            return this.mw;
        },
        set: function (a) {
            var b = this.oy;
            if (a != b) {
                this.mw = a;
                this.iz("YAxisTitle", b, this.oy);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qe", {
        get: function () {
            return this.py;
        },
        set: function (a) {
            var b = this.qe;
            if (a != b) {
                this.py = a;
                this.iz("XAxisMinorStroke", b, this.qe);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ql", {
        get: function () {
            return this.p5;
        },
        set: function (a) {
            var b = this.ql;
            if (a != b) {
                this.p5 = a;
                this.iz("YAxisMinorStroke", b, this.ql);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lp", {
        get: function () {
            return this.kn;
        },
        set: function (a) {
            var b = this.lp;
            if (a != b) {
                this.kn = a;
                this.iz("XAxisLabelAngle", b, this.lp);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l6", {
        get: function () {
            return this.k4;
        },
        set: function (a) {
            var b = this.l6;
            if (a != b) {
                this.k4 = a;
                this.iz("YAxisLabelAngle", b, this.l6);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lo", {
        get: function () {
            return this.km;
        },
        set: function (a) {
            var b = this.lo;
            if (a != b) {
                this.km = a;
                this.iz("XAxisExtent", b, this.lo);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "l5", {
        get: function () {
            return this.k3;
        },
        set: function (a) {
            var b = this.l5;
            if (a != b) {
                this.k3 = a;
                this.iz("YAxisExtent", b, this.l5);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "lz", {
        get: function () {
            return this.kx;
        },
        set: function (a) {
            var b = this.lz;
            if (a != b) {
                this.kx = a;
                this.iz("XAxisTitleAngle", b, this.lz);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "mg", {
        get: function () {
            return this.le;
        },
        set: function (a) {
            var b = this.mg;
            if (a != b) {
                this.le = a;
                this.iz("YAxisTitleAngle", b, this.mg);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kk", {
        get: function () {
            return this.ki;
        },
        set: function (a) {
            var b = this.kk;
            if (a != b) {
                this.ki = a;
                this.iz("XAxisInverted", b, this.kk);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "kl", {
        get: function () {
            return this.kj;
        },
        set: function (a) {
            var b = this.kl;
            if (a != b) {
                this.kj = a;
                this.iz("YAxisInverted", b, this.kl);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "ps", {
        get: function () {
            return this.pp;
        },
        set: function (a) {
            var b = this.ps;
            if (a != b) {
                this.pp = a;
                this.iz("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.ps));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qv", {
        get: function () {
            return this.qs;
        },
        set: function (a) {
            var b = this.qv;
            if (a != b) {
                this.qs = a;
                this.iz("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.qv));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "pr", {
        get: function () {
            return this.po;
        },
        set: function (a) {
            var b = this.pr;
            if (a != b) {
                this.po = a;
                this.iz("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.pr));
            }
        },
        enumerable: false,
        configurable: true
    });
    XYChart.prototype.get_pt = function () {
        return this.pq;
    };
    XYChart.prototype.set_pt = function (a) {
        var b = this.pt;
        if (a != b) {
            this.pq = a;
            this.iz("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.pt));
        }
    };
    Object.defineProperty(XYChart.prototype, "pt", {
        get: function () {
            return this.get_pt();
        },
        set: function (a) {
            this.set_pt(a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qt", {
        get: function () {
            return this.qq;
        },
        set: function (a) {
            var b = this.qt;
            if (a != b) {
                this.qq = a;
                this.iz("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.qt));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qu", {
        get: function () {
            return this.qr;
        },
        set: function (a) {
            var b = this.qu;
            if (a != b) {
                this.qr = a;
                this.iz("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.qu));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qy", {
        get: function () {
            return this.qw;
        },
        set: function (a) {
            var b = this.qy;
            if (a != b) {
                this.qw = a;
                this.iz("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.qy));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "qz", {
        get: function () {
            return this.qx;
        },
        set: function (a) {
            var b = this.qz;
            if (a != b) {
                this.qx = a;
                this.iz("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.qz));
            }
        },
        enumerable: false,
        configurable: true
    });
    XYChart.prototype.get_kh = function () {
        return this.kg;
    };
    XYChart.prototype.set_kh = function (a) {
        var b = this.kh;
        if (a != b) {
            this.kg = a;
            this.iz("YAxisLabelLocation", enumGetBox(AxisLabelsLocation_$type, b), enumGetBox(AxisLabelsLocation_$type, this.kh));
        }
    };
    Object.defineProperty(XYChart.prototype, "kh", {
        get: function () {
            return this.get_kh();
        },
        set: function (a) {
            this.set_kh(a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "m6", {
        get: function () {
            return this.mq;
        },
        set: function (a) {
            var b = this.mq;
            if (a != b) {
                this.mq = a;
                this.iz("XAxisLabelFormat", b, this.mq);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j8", {
        get: function () {
            return this.j6;
        },
        set: function (a) {
            var b = this.j6;
            if (a != b) {
                this.j6 = a;
                this.iz("XAxisLabelFormatSpecifiers", b, this.j6);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "oa", {
        get: function () {
            return this.mu;
        },
        set: function (a) {
            var b = this.mu;
            if (a != b) {
                this.mu = a;
                this.iz("YAxisLabelFormat", b, this.mu);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XYChart.prototype, "j9", {
        get: function () {
            return this.j7;
        },
        set: function (a) {
            var b = this.j7;
            if (a != b) {
                this.j7 = a;
                this.iz("YAxisLabelFormatSpecifiers", b, this.j7);
            }
        },
        enumerable: false,
        configurable: true
    });
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
}(DomainChart));
export { XYChart };
//# sourceMappingURL=XYChart.js.map
