/*
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 { 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 { YAxisLabelLocation_$type } from "./YAxisLabelLocation";
import { XAxisLabelLocation_$type } from "./XAxisLabelLocation";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { AxisDefaults } from "./AxisDefaults";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
import { DeviceUtils } from "igniteui-react-core";
/**
 * @hidden
 */
export let XYChart = /*@__PURE__*/ (() => {
    class XYChart extends DomainChart {
        constructor() {
            super(...arguments);
            this.za = null;
            this.zb = null;
            this.zr = 0;
            this.zt = 5;
            this.zs = 0;
            this.zq = 5;
            this.z8 = 5;
            this.aaa = 0;
            this.z9 = 5;
            this.z7 = 0;
            this.ae1 = null;
            this.ae8 = null;
            this.aez = null;
            this.ae0 = null;
            this.z2 = 0;
            this.aaj = 0;
            this.z1 = NaN;
            this.aai = NaN;
            this.z4 = NaN;
            this.aal = NaN;
            this.z3 = NaN;
            this.aak = NaN;
            this.z0 = NaN;
            this.aah = NaN;
            this.ae7 = null;
            this.afe = null;
            this.abt = null;
            this.abx = null;
            this.abv = null;
            this.abz = null;
            this.abo = null;
            this.abp = null;
            this.ae2 = null;
            this.ae9 = null;
            this.zu = DeviceUtils.g(1);
            this.aab = DeviceUtils.g(1);
            this.zv = DeviceUtils.g(1);
            this.aac = DeviceUtils.g(1);
            this.ae4 = null;
            this.afb = null;
            this.ae5 = null;
            this.afc = null;
            this.zw = DeviceUtils.g(1);
            this.aad = DeviceUtils.g(1);
            this.zx = DeviceUtils.g(8);
            this.aae = 0;
            this.ae6 = null;
            this.afd = null;
            this.zy = DeviceUtils.g(1);
            this.aaf = DeviceUtils.g(1);
            this.abu = null;
            this.aby = null;
            this.ae3 = null;
            this.afa = null;
            this.zp = 0;
            this.z6 = 0;
            this.zo = NaN;
            this.z5 = NaN;
            this.zz = 0;
            this.aag = -90;
            this.zk = false;
            this.zl = false;
            this.aeu = 1;
            this.afx = 1;
            this.aet = 1;
            this.aev = 2;
            this.afv = 0;
            this.afw = 1;
            this.af1 = 0;
            this.af2 = 0;
            this.zi = 4;
            this.zg = 4;
            this.abs = null;
            this.y4 = null;
            this.abw = null;
            this.y5 = null;
        }
        provideContainer(a) {
            if (a != null) {
                let b = this.y8();
                let c = this.y9();
                if (b != null) {
                    b.provideRenderer(a);
                }
                if (c != null) {
                    c.provideRenderer(a);
                }
            }
            super.provideContainer(a);
        }
        ur() {
            super.ur();
            let a = this.y8();
            let b = this.y9();
            if (a != null && a.az != null) {
                this.afh = a.az.textColor;
            }
            if (b != null && b.az != null) {
                this.afo = b.az.textColor;
            }
            this.afm = AxisDefaults.j;
            this.aft = AxisDefaults.j;
            this.afi = AxisDefaults.h;
            this.afp = AxisDefaults.h;
            this.afl = AxisDefaults.g;
            this.afs = AxisDefaults.g;
        }
        vi(a, b, c) {
            super.vi(a, b, c);
            switch (a) {
                case "XAxisLabelLeftMargin":
                    this.ael((d) => d.leftMargin = this.aat);
                    break;
                case "XAxisLabelTopMargin":
                    this.ael((d) => d.topMargin = this.aav);
                    break;
                case "XAxisLabelRightMargin":
                    this.ael((d) => d.rightMargin = this.aau);
                    break;
                case "XAxisLabelBottomMargin":
                    this.ael((d) => d.bottomMargin = this.aas);
                    break;
                case "YAxisLabelLeftMargin":
                    this.aeq((d) => d.leftMargin = this.aba);
                    break;
                case "YAxisLabelTopMargin":
                    this.aeq((d) => d.topMargin = this.abc);
                    break;
                case "YAxisLabelRightMargin":
                    this.aeq((d) => d.rightMargin = this.abb);
                    break;
                case "YAxisLabelBottomMargin":
                    this.aeq((d) => d.bottomMargin = this.aa9);
                    break;
                case "ActualItemsSource":
                case "ShouldDisplayMockData":
                case "ShouldUseSkeletonStyleForMockData":
                    this.aff = this.x4(this.afh);
                    this.afg = this.x4(this.afo);
                    break;
                case "XAxisLabelTextColor":
                    this.aff = this.x4(this.afh);
                    break;
                case "YAxisLabelTextColor":
                    this.afg = this.x4(this.afo);
                    break;
                case "ActualXAxisLabelTextColor":
                    this.ael((d) => d.textColor = this.aff);
                    break;
                case "ActualYAxisLabelTextColor":
                    this.aeq((d) => d.textColor = this.afg);
                    break;
                case "XAxisTitleMargin":
                    this.aen((d) => d.margin = this.aa4);
                    break;
                case "YAxisTitleMargin":
                    this.aes((d) => d.margin = this.abl);
                    break;
                case "XAxisTitleLeftMargin":
                    this.aen((d) => d.leftMargin = this.aa3);
                    break;
                case "YAxisTitleLeftMargin":
                    this.aes((d) => d.leftMargin = this.abk);
                    break;
                case "XAxisTitleTopMargin":
                    this.aen((d) => d.topMargin = this.aa6);
                    break;
                case "YAxisTitleTopMargin":
                    this.aes((d) => d.topMargin = this.abn);
                    break;
                case "XAxisTitleRightMargin":
                    this.aen((d) => d.rightMargin = this.aa5);
                    break;
                case "YAxisTitleRightMargin":
                    this.aes((d) => d.rightMargin = this.abm);
                    break;
                case "XAxisTitleBottomMargin":
                    this.aen((d) => d.bottomMargin = this.aa2);
                    break;
                case "YAxisTitleBottomMargin":
                    this.aes((d) => d.bottomMargin = this.abj);
                    break;
                case "XAxisTitleTextColor":
                    this.aen((d) => d.textColor = this.afn);
                    break;
                case "YAxisTitleTextColor":
                    this.aes((d) => d.textColor = this.afu);
                    break;
                case "XAxisFormatLabel":
                    this.aej((d) => d.au = this.zc);
                    break;
                case "YAxisFormatLabel":
                    this.aeo((d) => d.au = this.zd);
                    break;
            }
        }
        get zc() {
            return this.za;
        }
        set zc(a) {
            let b = this.zc;
            if (a != b) {
                this.za = a;
                this.vf("XAxisFormatLabel", b, this.zc);
            }
        }
        get zd() {
            return this.zb;
        }
        set zd(a) {
            let b = this.zd;
            if (a != b) {
                this.zb = a;
                this.vf("YAxisFormatLabel", b, this.zd);
            }
        }
        get aat() {
            return this.zr;
        }
        set aat(a) {
            let b = this.aat;
            if (a != b) {
                this.zr = a;
                this.vf("XAxisLabelLeftMargin", b, this.aat);
            }
        }
        get aav() {
            return this.zt;
        }
        set aav(a) {
            let b = this.aav;
            if (a != b) {
                this.zt = a;
                this.vf("XAxisLabelTopMargin", b, this.aav);
            }
        }
        get aau() {
            return this.zs;
        }
        set aau(a) {
            let b = this.aau;
            if (a != b) {
                this.zs = a;
                this.vf("XAxisLabelRightMargin", b, this.aau);
            }
        }
        get aas() {
            return this.zq;
        }
        set aas(a) {
            let b = this.aas;
            if (a != b) {
                this.zq = a;
                this.vf("XAxisLabelBottomMargin", b, this.aas);
            }
        }
        get aba() {
            return this.z8;
        }
        set aba(a) {
            let b = this.aba;
            if (a != b) {
                this.z8 = a;
                this.vf("YAxisLabelLeftMargin", b, this.aba);
            }
        }
        get abc() {
            return this.aaa;
        }
        set abc(a) {
            let b = this.abc;
            if (a != b) {
                this.aaa = a;
                this.vf("YAxisLabelTopMargin", b, this.abc);
            }
        }
        get abb() {
            return this.z9;
        }
        set abb(a) {
            let b = this.abb;
            if (a != b) {
                this.z9 = a;
                this.vf("YAxisLabelRightMargin", b, this.abb);
            }
        }
        get aa9() {
            return this.z7;
        }
        set aa9(a) {
            let b = this.aa9;
            if (a != b) {
                this.z7 = a;
                this.vf("YAxisLabelBottomMargin", b, this.aa9);
            }
        }
        get afh() {
            return this.ae1;
        }
        set afh(a) {
            let b = this.afh;
            if (a != b) {
                this.ae1 = a;
                this.vf("XAxisLabelTextColor", b, this.afh);
            }
        }
        get afo() {
            return this.ae8;
        }
        set afo(a) {
            let b = this.afo;
            if (a != b) {
                this.ae8 = a;
                this.vf("YAxisLabelTextColor", b, this.afo);
            }
        }
        get aff() {
            return this.aez;
        }
        set aff(a) {
            let b = this.aez;
            if (a != b) {
                this.aez = a;
                this.vf("ActualXAxisLabelTextColor", b, this.aff);
            }
        }
        get afg() {
            return this.ae0;
        }
        set afg(a) {
            let b = this.ae0;
            if (a != b) {
                this.ae0 = a;
                this.vf("ActualYAxisLabelTextColor", b, this.afg);
            }
        }
        get aa4() {
            return this.z2;
        }
        set aa4(a) {
            let b = this.aa4;
            if (a != b) {
                this.z2 = a;
                this.vf("XAxisTitleMargin", b, this.aa4);
            }
        }
        get abl() {
            return this.aaj;
        }
        set abl(a) {
            let b = this.abl;
            if (a != b) {
                this.aaj = a;
                this.vf("YAxisTitleMargin", b, this.abl);
            }
        }
        get aa3() {
            return this.z1;
        }
        set aa3(a) {
            let b = this.aa3;
            if (a != b) {
                this.z1 = a;
                this.vf("XAxisTitleLeftMargin", b, this.aa3);
            }
        }
        get abk() {
            return this.aai;
        }
        set abk(a) {
            let b = this.abk;
            if (a != b) {
                this.aai = a;
                this.vf("YAxisTitleLeftMargin", b, this.abk);
            }
        }
        get aa6() {
            return this.z4;
        }
        set aa6(a) {
            let b = this.aa6;
            if (a != b) {
                this.z4 = a;
                this.vf("XAxisTitleTopMargin", b, this.aa6);
            }
        }
        get abn() {
            return this.aal;
        }
        set abn(a) {
            let b = this.abn;
            if (a != b) {
                this.aal = a;
                this.vf("YAxisTitleTopMargin", b, this.abn);
            }
        }
        get aa5() {
            return this.z3;
        }
        set aa5(a) {
            let b = this.aa5;
            if (a != b) {
                this.z3 = a;
                this.vf("XAxisTitleRightMargin", b, this.aa5);
            }
        }
        get abm() {
            return this.aak;
        }
        set abm(a) {
            let b = this.abm;
            if (a != b) {
                this.aak = a;
                this.vf("YAxisTitleRightMargin", b, this.abm);
            }
        }
        get aa2() {
            return this.z0;
        }
        set aa2(a) {
            let b = this.aa2;
            if (a != b) {
                this.z0 = a;
                this.vf("XAxisTitleBottomMargin", b, this.aa2);
            }
        }
        get abj() {
            return this.aah;
        }
        set abj(a) {
            let b = this.abj;
            if (a != b) {
                this.aah = a;
                this.vf("YAxisTitleBottomMargin", b, this.abj);
            }
        }
        get afn() {
            return this.ae7;
        }
        set afn(a) {
            let b = this.afn;
            if (a != b) {
                this.ae7 = a;
                this.vf("XAxisTitleTextColor", b, this.afn);
            }
        }
        get afu() {
            return this.afe;
        }
        set afu(a) {
            let b = this.afu;
            if (a != b) {
                this.afe = a;
                this.vf("YAxisTitleTextColor", b, this.afu);
            }
        }
        vj(a, b, c) {
            super.vj(a, b, c);
            switch (a) {
                case "XAxisLabelTextStyle":
                    this.ael((d) => d.textStyle = this.ach);
                    break;
                case "YAxisLabelTextStyle":
                    this.aeq((d) => d.textStyle = this.adm);
                    break;
                case "XAxisTitleTextStyle":
                    this.aen((d) => d.textStyle = this.ac5);
                    break;
                case "YAxisTitleTextStyle":
                    this.aes((d) => d.textStyle = this.aea);
                    break;
            }
        }
        get ach() {
            return this.abt;
        }
        set ach(a) {
            let b = this.ach;
            if (a != b) {
                this.abt = a;
                this.vf("XAxisLabelTextStyle", b, this.ach);
            }
        }
        get adm() {
            return this.abx;
        }
        set adm(a) {
            let b = this.adm;
            if (a != b) {
                this.abx = a;
                this.vf("YAxisLabelTextStyle", b, this.adm);
            }
        }
        get ac5() {
            return this.abv;
        }
        set ac5(a) {
            let b = this.ac5;
            if (a != b) {
                this.abv = a;
                this.vf("XAxisTitleTextStyle", b, this.ac5);
            }
        }
        get aea() {
            return this.abz;
        }
        set aea(a) {
            let b = this.aea;
            if (a != b) {
                this.abz = a;
                this.vf("YAxisTitleTextStyle", b, this.aea);
            }
        }
        aeg(a) {
            this.aed(a, (b) => b.leftMargin = this.aat);
            this.aed(a, (b) => b.topMargin = this.aav);
            this.aed(a, (b) => b.rightMargin = this.aau);
            this.aed(a, (b) => b.bottomMargin = this.aas);
            this.aed(a, (b) => b.textColor = this.aff);
            this.aee(a, (b) => b.textColor = this.afn);
            this.aee(a, (b) => b.leftMargin = this.aa3);
            this.aee(a, (b) => b.topMargin = this.aa6);
            this.aee(a, (b) => b.rightMargin = this.aa5);
            this.aee(a, (b) => b.bottomMargin = this.aa2);
            this.aed(a, (b) => b.textStyle = this.ach);
            this.aee(a, (b) => b.textStyle = this.ac5);
        }
        aei(a) {
            this.aed(a, (b) => b.leftMargin = this.aba);
            this.aed(a, (b) => b.topMargin = this.abc);
            this.aed(a, (b) => b.rightMargin = this.abb);
            this.aed(a, (b) => b.bottomMargin = this.aa9);
            this.aed(a, (b) => b.textColor = this.afg);
            this.aee(a, (b) => b.textColor = this.afu);
            this.aee(a, (b) => b.leftMargin = this.abk);
            this.aee(a, (b) => b.topMargin = this.abn);
            this.aee(a, (b) => b.rightMargin = this.abm);
            this.aee(a, (b) => b.bottomMargin = this.abj);
            this.aed(a, (b) => b.textStyle = this.adm);
            this.aee(a, (b) => b.textStyle = this.aea);
        }
        v3(a) {
            let b = this.bi(a);
            let c = this.da(a, b);
            if (c == null) {
                return;
            }
            c.itemsSource = this.hw(a);
            if (a.highlightedData != null) {
                c.highlightedItemsSource = this.hx(a);
            }
            c.name = this.qe(a);
            c.title = this.qf(a, b);
            this.dataChart.series.add(c);
        }
        aej(a) {
            this.aek(a, null);
        }
        aek(a, b) {
            a(this.y8());
        }
        aep(a, b) {
            a(this.y9());
        }
        aeo(a) {
            this.aep(a, true);
        }
        ub(a, b) {
            this.aej(a);
            this.aep(a, b);
        }
        aen(a) {
            this.aee(this.y8(), a);
        }
        aes(a) {
            this.aee(this.y9(), a);
        }
        aeq(a) {
            this.aed(this.y9(), a);
        }
        ael(a) {
            this.aed(this.y8(), a);
        }
        aam(a) {
            let b = this.y8();
            return b.ek(a, new ScalerParams(1, this.yd, this.yc, b.ch));
        }
        aao(a) {
            let b = this.y8();
            return b.en(a, new ScalerParams(1, this.yd, this.yc, b.ch));
        }
        aan(a) {
            let b = this.y9();
            return b.ek(a, new ScalerParams(1, this.yd, this.yc, b.ch));
        }
        aap(a) {
            let b = this.y9();
            return b.en(a, new ScalerParams(1, this.yd, this.yc, b.ch));
        }
        v0(a) {
            super.v0(a);
            if (a == null) {
                return;
            }
            if (a.axes != null) {
                let b = this.y8();
                let c = this.y9();
                if (a.axes.contains(b)) {
                    a.axes.remove(b);
                }
                if (a.axes.contains(c)) {
                    a.axes.remove(c);
                }
            }
        }
        static ab2(a, b) {
            for (let c of fromEnum(b)) {
                let d = c.findMatchingHint(16);
                if (d != null) {
                    let e = d.path;
                    return e;
                }
            }
            return null;
        }
        um(a, b) {
            super.um(a, b);
            if (a == this.dataChart) {
                this.dataChart.axes.add(this.y8());
                this.dataChart.axes.add(this.y9());
            }
        }
        aef(a) {
            if (a != null && this.lo != null && a.fm == null) {
                a.provideRenderer(this.lo);
            }
            a.jx = this.afi;
            a.es = this.aaw;
            a.jy = this.afj;
            a.ev = this.aax;
            a.j0 = this.afl;
            a.fh = this.aay;
            a.jz = this.afk;
            a.fi = this.aaz;
            a.j1 = this.afm;
            a.fj = this.aa0;
            a.c4 = true;
            a.cu = this.ha;
            a.cw = this.ha;
            let b = a == this.y8();
            if (b) {
                a.g7 = this.acw;
            }
            a.f1 = this.abq;
            a.gh = this.ab8;
            a.ah = this.y6;
            this.aed(a, (c) => c.angle = this.aar);
            this.aed(a, (c) => {
                if (c.extent != this.aaq) {
                    c.extent = this.aaq;
                }
            });
            this.aed(a, (c) => c.horizontalAlignment = this.aew);
            this.aed(a, (c) => c.verticalAlignment = this.afy);
            this.aed(a, (c) => c.visibility = this.af3);
            this.aed(a, (c) => c.location = this.ze(this.zh));
            this.aee(a, (c) => c.horizontalAlignment = this.aex);
            this.aee(a, (c) => c.angle = this.aa1);
            this.aeg(a);
        }
        aeh(a) {
            if (a == null) {
                return;
            }
            if (this.lo != null && a.fm == null) {
                a.provideRenderer(this.lo);
            }
            a.cu = this.ha;
            a.cw = this.ha;
            this.aed(a, (b) => b.angle = this.aa8);
            this.aed(a, (b) => {
                if (b.extent != this.aa7) {
                    b.extent = this.aa7;
                }
            });
            this.aed(a, (b) => b.horizontalAlignment = this.aey);
            this.aed(a, (b) => b.verticalAlignment = this.afz);
            this.aed(a, (b) => b.visibility = this.af4);
            this.aed(a, (b) => b.location = this.zf(this.zj));
            this.aee(a, (b) => b.verticalAlignment = this.af0);
            this.aee(a, (b) => b.angle = this.abi);
            a.jx = this.afp;
            a.es = this.abd;
            a.jy = this.afq;
            a.ev = this.abe;
            a.j0 = this.afs;
            a.fh = this.abf;
            a.jz = this.afr;
            a.fi = this.abg;
            a.j1 = this.aft;
            a.fj = this.abh;
            let b = a == this.y9();
            if (b) {
                a.g7 = this.ad1;
            }
            a.gh = this.add;
            a.ah = this.y7;
            this.aei(a);
        }
        uj() {
            super.uj();
            this.aef(this.y8());
            this.aeh(this.y9());
        }
        aed(a, b) {
            if (a == null) {
                return;
            }
            if (a.az == null) {
                a.az = new AxisLabelSettings();
                a.az.angle = a.d6();
                a.az.bottomMargin = a.d7();
                a.az.leftMargin = a.d8();
                a.az.rightMargin = a.d9();
                a.az.topMargin = a.ea();
                a.az.horizontalAlignment = a.js();
                a.az.location = a.a0();
                a.az.verticalAlignment = a.kl();
            }
            b(a.az);
        }
        aee(a, b) {
            if (a == null) {
                return;
            }
            if (a.bf == null) {
                a.bf = new TitleSettings();
                a.bf.bottomMargin = a.ec();
                a.bf.leftMargin = a.ed();
                a.bf.rightMargin = a.ee();
                a.bf.topMargin = a.ef();
                a.bf.location = a.a1();
                a.bf.angle = a.eb();
                a.bf.horizontalAlignment = a.jt();
                a.bf.verticalAlignment = a.km();
            }
            b(a.bf);
        }
        vf(a, b, c) {
            super.vf(a, b, c);
            switch (a) {
                case "XAxisLabelAngle":
                    this.ael((d) => d.angle = this.aar);
                    break;
                case "YAxisLabelAngle":
                    this.aeq((d) => d.angle = this.aa8);
                    break;
                case "XAxisLabelHorizontalAlignment":
                    this.ael((d) => d.horizontalAlignment = this.aew);
                    break;
                case "YAxisLabelHorizontalAlignment":
                    this.aeq((d) => d.horizontalAlignment = this.aey);
                    break;
                case "XAxisLabelVerticalAlignment":
                    this.ael((d) => d.verticalAlignment = this.afy);
                    break;
                case "YAxisLabelVerticalAlignment":
                    this.aeq((d) => d.verticalAlignment = this.afz);
                    break;
                case "XAxisLabelVisibility":
                    this.ael((d) => d.visibility = this.af3);
                    break;
                case "YAxisLabelVisibility":
                    this.aeq((d) => d.visibility = this.af4);
                    break;
                case "XAxisLabel":
                    this.aej((d) => d.f1 = this.abq);
                    break;
                case "YAxisLabel":
                    this.aeo((d) => d.f1 = this.abr);
                    break;
                case "XAxisLabelFormat":
                    this.aej((d) => d.gh = this.ab8);
                    break;
                case "XAxisLabelFormatSpecifiers":
                    this.aej((d) => d.ah = this.y6);
                    break;
                case "YAxisLabelFormat":
                    this.aeo((d) => d.gh = this.add);
                    break;
                case "YAxisLabelFormatSpecifiers":
                    this.aeo((d) => d.ah = this.y7);
                    break;
                case "XAxisTitleAngle":
                    this.aen((d) => d.angle = this.aa1);
                    break;
                case "YAxisTitleAngle":
                    this.aes((d) => d.angle = this.abi);
                    break;
                case "XAxisTitleAlignment":
                    this.aen((d) => d.horizontalAlignment = this.aex);
                    break;
                case "YAxisTitleAlignment":
                    this.aes((d) => d.verticalAlignment = this.af0);
                    break;
                case "XAxisTitle":
                    this.aej((d) => d.g7 = this.acw);
                    break;
                case "YAxisTitle":
                    this.aep((d) => d.g7 = this.ad1, false);
                    break;
                case "XAxisMajorStroke":
                    this.aek((d) => d.jx = this.afi, a);
                    break;
                case "YAxisMajorStroke":
                    this.aeo((d) => d.jx = this.afp);
                    break;
                case "XAxisMajorStrokeThickness":
                    this.aek((d) => d.es = this.aaw, a);
                    break;
                case "YAxisMajorStrokeThickness":
                    this.aeo((d) => d.es = this.abd);
                    break;
                case "XAxisMinorStroke":
                    this.aej((d) => d.jy = this.afj);
                    break;
                case "YAxisMinorStroke":
                    this.aeo((d) => d.jy = this.afq);
                    break;
                case "XAxisMinorStrokeThickness":
                    this.aej((d) => d.ev = this.aax);
                    break;
                case "YAxisMinorStrokeThickness":
                    this.aeo((d) => d.ev = this.abe);
                    break;
                case "XAxisTickLength":
                    this.aej((d) => d.fi = this.aaz);
                    break;
                case "YAxisTickLength":
                    this.aeo((d) => d.fi = this.abg);
                    break;
                case "XAxisTickStroke":
                    this.aej((d) => d.j1 = this.afm);
                    break;
                case "YAxisTickStroke":
                    this.aeo((d) => d.j1 = this.aft);
                    break;
                case "XAxisTickStrokeThickness":
                    this.aej((d) => d.fj = this.aa0);
                    break;
                case "YAxisTickStrokeThickness":
                    this.aeo((d) => d.fj = this.abh);
                    break;
                case "XAxisStroke":
                    this.aej((d) => d.j0 = this.afl);
                    break;
                case "YAxisStroke":
                    this.aeo((d) => d.j0 = this.afs);
                    break;
                case "XAxisStrokeThickness":
                    this.aej((d) => d.fh = this.aay);
                    break;
                case "YAxisStrokeThickness":
                    this.aeo((d) => d.fh = this.abf);
                    break;
                case "XAxisExtent":
                    this.ael((d) => d.extent = this.aaq);
                    break;
                case "YAxisExtent":
                    this.aeq((d) => d.extent = this.aa7);
                    break;
                case "XAxisStrip":
                    this.aej((d) => d.jz = this.afk);
                    break;
                case "YAxisStrip":
                    this.aeo((d) => d.jz = this.afr);
                    break;
                case "XAxisInverted":
                    this.aej((d) => d.ch = this.zm);
                    break;
                case "YAxisInverted":
                    this.aeo((d) => d.ch = this.zn);
                    break;
                case "YAxisLabelLocation":
                    this.aer();
                    break;
                case "XAxisLabelLocation":
                    this.aem();
                    break;
            }
        }
        aer() {
            let a = this.zf(this.zj);
            if (a == 2 || a == 7) {
                this.aey = 2;
            }
            else {
                this.aey = 0;
            }
            this.aeq((b) => b.location = a);
        }
        aem() {
            let a = this.ze(this.zh);
            if (a == 1 || a == 5) {
                this.afy = 0;
            }
            else {
                this.afy = 2;
            }
            this.ael((b) => b.location = a);
        }
        zf(a) {
            if (a == 0) {
                return 2;
            }
            else if (a == 1) {
                return 3;
            }
            else if (a == 3) {
                return 7;
            }
            else if (a == 2) {
                return 6;
            }
            else {
                if (this.b9 == 1) {
                    return 3;
                }
                else {
                    return 2;
                }
            }
        }
        ze(a) {
            if (a == 1) {
                return 1;
            }
            else if (a == 0) {
                return 0;
            }
            else if (a == 3) {
                return 5;
            }
            else if (a == 2) {
                return 4;
            }
            else {
                return 1;
            }
        }
        get abq() {
            return this.abo;
        }
        set abq(a) {
            let b = this.abq;
            if (a != b) {
                this.abo = a;
                this.vf("XAxisLabel", b, this.abq);
            }
        }
        get abr() {
            return this.abp;
        }
        set abr(a) {
            let b = this.abr;
            if (a != b) {
                this.abp = a;
                this.vf("YAxisLabel", b, this.abr);
            }
        }
        get afi() {
            return this.ae2;
        }
        set afi(a) {
            let b = this.afi;
            if (a != b) {
                this.ae2 = a;
                this.vf("XAxisMajorStroke", b, this.afi);
            }
        }
        get afp() {
            return this.ae9;
        }
        set afp(a) {
            let b = this.afp;
            if (a != b) {
                this.ae9 = a;
                this.vf("YAxisMajorStroke", b, this.afp);
            }
        }
        get aaw() {
            return this.zu;
        }
        set aaw(a) {
            let b = this.aaw;
            if (a != b) {
                this.zu = a;
                this.vf("XAxisMajorStrokeThickness", b, this.aaw);
            }
        }
        get abd() {
            return this.aab;
        }
        set abd(a) {
            let b = this.abd;
            if (a != b) {
                this.aab = a;
                this.vf("YAxisMajorStrokeThickness", b, this.abd);
            }
        }
        get aax() {
            return this.zv;
        }
        set aax(a) {
            let b = this.aax;
            if (a != b) {
                this.zv = a;
                this.vf("XAxisMinorStrokeThickness", b, this.aax);
            }
        }
        get abe() {
            return this.aac;
        }
        set abe(a) {
            let b = this.abe;
            if (a != b) {
                this.aac = a;
                this.vf("YAxisMinorStrokeThickness", b, this.abe);
            }
        }
        get afk() {
            return this.ae4;
        }
        set afk(a) {
            let b = this.afk;
            if (a != b) {
                this.ae4 = a;
                this.vf("XAxisStrip", b, this.afk);
            }
        }
        get afr() {
            return this.afb;
        }
        set afr(a) {
            let b = this.afr;
            if (a != b) {
                this.afb = a;
                this.vf("YAxisStrip", b, this.afr);
            }
        }
        get afl() {
            return this.ae5;
        }
        set afl(a) {
            let b = this.afl;
            if (a != b) {
                this.ae5 = a;
                this.vf("XAxisStroke", b, this.afl);
            }
        }
        get afs() {
            return this.afc;
        }
        set afs(a) {
            let b = this.afs;
            if (a != b) {
                this.afc = a;
                this.vf("YAxisStroke", b, this.afs);
            }
        }
        get aay() {
            return this.zw;
        }
        set aay(a) {
            let b = this.aay;
            if (a != b) {
                this.zw = a;
                this.vf("XAxisStrokeThickness", b, this.aay);
            }
        }
        get abf() {
            return this.aad;
        }
        set abf(a) {
            let b = this.abf;
            if (a != b) {
                this.aad = a;
                this.vf("YAxisStrokeThickness", b, this.abf);
            }
        }
        get aaz() {
            return this.zx;
        }
        set aaz(a) {
            let b = this.aaz;
            if (a != b) {
                this.zx = a;
                this.vf("XAxisTickLength", b, this.aaz);
            }
        }
        get abg() {
            return this.aae;
        }
        set abg(a) {
            let b = this.abg;
            if (a != b) {
                this.aae = a;
                this.vf("YAxisTickLength", b, this.abg);
            }
        }
        get afm() {
            return this.ae6;
        }
        set afm(a) {
            let b = this.afm;
            if (a != b) {
                this.ae6 = a;
                this.vf("XAxisTickStroke", b, this.afm);
            }
        }
        get aft() {
            return this.afd;
        }
        set aft(a) {
            let b = this.aft;
            if (a != b) {
                this.afd = a;
                this.vf("YAxisTickStroke", b, this.aft);
            }
        }
        get aa0() {
            return this.zy;
        }
        set aa0(a) {
            let b = this.aa0;
            if (a != b) {
                this.zy = a;
                this.vf("XAxisTickStrokeThickness", b, this.aa0);
            }
        }
        get abh() {
            return this.aaf;
        }
        set abh(a) {
            let b = this.abh;
            if (a != b) {
                this.aaf = a;
                this.vf("YAxisTickStrokeThickness", b, this.abh);
            }
        }
        get acw() {
            return this.abu;
        }
        set acw(a) {
            let b = this.acw;
            if (a != b) {
                this.abu = a;
                this.vf("XAxisTitle", b, this.acw);
            }
        }
        get ad1() {
            return this.aby;
        }
        set ad1(a) {
            let b = this.ad1;
            if (a != b) {
                this.aby = a;
                this.vf("YAxisTitle", b, this.ad1);
            }
        }
        get afj() {
            return this.ae3;
        }
        set afj(a) {
            let b = this.afj;
            if (a != b) {
                this.ae3 = a;
                this.vf("XAxisMinorStroke", b, this.afj);
            }
        }
        get afq() {
            return this.afa;
        }
        set afq(a) {
            let b = this.afq;
            if (a != b) {
                this.afa = a;
                this.vf("YAxisMinorStroke", b, this.afq);
            }
        }
        get aar() {
            return this.zp;
        }
        set aar(a) {
            let b = this.aar;
            if (a != b) {
                this.zp = a;
                this.vf("XAxisLabelAngle", b, this.aar);
            }
        }
        get aa8() {
            return this.z6;
        }
        set aa8(a) {
            let b = this.aa8;
            if (a != b) {
                this.z6 = a;
                this.vf("YAxisLabelAngle", b, this.aa8);
            }
        }
        get aaq() {
            return this.zo;
        }
        set aaq(a) {
            let b = this.aaq;
            if (a != b) {
                this.zo = a;
                this.vf("XAxisExtent", b, this.aaq);
            }
        }
        get aa7() {
            return this.z5;
        }
        set aa7(a) {
            let b = this.aa7;
            if (a != b) {
                this.z5 = a;
                this.vf("YAxisExtent", b, this.aa7);
            }
        }
        get aa1() {
            return this.zz;
        }
        set aa1(a) {
            let b = this.aa1;
            if (a != b) {
                this.zz = a;
                this.vf("XAxisTitleAngle", b, this.aa1);
            }
        }
        get abi() {
            return this.aag;
        }
        set abi(a) {
            let b = this.abi;
            if (a != b) {
                this.aag = a;
                this.vf("YAxisTitleAngle", b, this.abi);
            }
        }
        get zm() {
            return this.zk;
        }
        set zm(a) {
            let b = this.zm;
            if (a != b) {
                this.zk = a;
                this.vf("XAxisInverted", b, this.zm);
            }
        }
        get zn() {
            return this.zl;
        }
        set zn(a) {
            let b = this.zn;
            if (a != b) {
                this.zl = a;
                this.vf("YAxisInverted", b, this.zn);
            }
        }
        get aex() {
            return this.aeu;
        }
        set aex(a) {
            let b = this.aex;
            if (a != b) {
                this.aeu = a;
                this.vf("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.aex));
            }
        }
        get af0() {
            return this.afx;
        }
        set af0(a) {
            let b = this.af0;
            if (a != b) {
                this.afx = a;
                this.vf("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.af0));
            }
        }
        get aew() {
            return this.aet;
        }
        set aew(a) {
            let b = this.aew;
            if (a != b) {
                this.aet = a;
                this.vf("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.aew));
            }
        }
        get_aey() {
            return this.aev;
        }
        set_aey(a) {
            let b = this.aey;
            if (a != b) {
                this.aev = a;
                this.vf("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.aey));
            }
        }
        get aey() {
            return this.get_aey();
        }
        set aey(a) {
            this.set_aey(a);
        }
        get afy() {
            return this.afv;
        }
        set afy(a) {
            let b = this.afy;
            if (a != b) {
                this.afv = a;
                this.vf("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.afy));
            }
        }
        get afz() {
            return this.afw;
        }
        set afz(a) {
            let b = this.afz;
            if (a != b) {
                this.afw = a;
                this.vf("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.afz));
            }
        }
        get af3() {
            return this.af1;
        }
        set af3(a) {
            let b = this.af3;
            if (a != b) {
                this.af1 = a;
                this.vf("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.af3));
            }
        }
        get af4() {
            return this.af2;
        }
        set af4(a) {
            let b = this.af4;
            if (a != b) {
                this.af2 = a;
                this.vf("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.af4));
            }
        }
        get_zj() {
            return this.zi;
        }
        set_zj(a) {
            let b = this.zj;
            if (a != b) {
                this.zi = a;
                this.vf("YAxisLabelLocation", enumGetBox(YAxisLabelLocation_$type, b), enumGetBox(YAxisLabelLocation_$type, this.zj));
            }
        }
        get zj() {
            return this.get_zj();
        }
        set zj(a) {
            this.set_zj(a);
        }
        get_zh() {
            return this.zg;
        }
        set_zh(a) {
            let b = this.zh;
            if (a != b) {
                this.zg = a;
                this.vf("XAxisLabelLocation", enumGetBox(XAxisLabelLocation_$type, b), enumGetBox(XAxisLabelLocation_$type, this.zh));
            }
        }
        get zh() {
            return this.get_zh();
        }
        set zh(a) {
            this.set_zh(a);
        }
        get ab8() {
            return this.abs;
        }
        set ab8(a) {
            let b = this.abs;
            if (a != b) {
                this.abs = a;
                this.vf("XAxisLabelFormat", b, this.abs);
            }
        }
        get y6() {
            return this.y4;
        }
        set y6(a) {
            let b = this.y4;
            if (a != b) {
                this.y4 = a;
                this.vf("XAxisLabelFormatSpecifiers", b, this.y4);
            }
        }
        get add() {
            return this.abw;
        }
        set add(a) {
            let b = this.abw;
            if (a != b) {
                this.abw = a;
                this.vf("YAxisLabelFormat", b, this.abw);
            }
        }
        get y7() {
            return this.y5;
        }
        set y7(a) {
            let b = this.y5;
            if (a != b) {
                this.y5 = a;
                this.vf("YAxisLabelFormatSpecifiers", b, this.y5);
            }
        }
    }
    XYChart.$t = /*@__PURE__*/ markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
})();
