/*
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 { XYChart } from "./XYChart";
import { typeCast, runOn, delegateCombine, enumGetBox, markType, TypeRegistrar, getInstanceType } from "igniteui-react-core";
import { CategoryChartType_$type } from "./CategoryChartType";
import { CategorySeriesMarkerCollisionAvoidance_$type } from "./CategorySeriesMarkerCollisionAvoidance";
import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode";
import { TransitionInSpeedType_$type } from "./TransitionInSpeedType";
import { AutoMarginsAndAngleUpdateMode_$type } from "./AutoMarginsAndAngleUpdateMode";
import { AxisRangeBufferMode_$type } from "./AxisRangeBufferMode";
import { CategoryXAxis } from "./CategoryXAxis";
import { List$1 } from "igniteui-react-core";
import { DataSeriesType_$type } from "igniteui-react-core";
import { NumericYAxis } from "./NumericYAxis";
import { IDataSeriesAdapterRule_$type } from "igniteui-react-core";
import { SimpleCategorySeriesRule } from "igniteui-react-core";
import { SubCollectionsRule } from "igniteui-react-core";
import { DVContainer } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { AxisDefaults } from "./AxisDefaults";
import { Defaults } from "./Defaults";
import { Series } from "./Series";
import { HorizontalAnchoredCategorySeries } from "./HorizontalAnchoredCategorySeries";
import { ArrayExtension } from "igniteui-react-core";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { DeviceUtils } from "igniteui-react-core";
import { CategoryChartMockDataGenerator } from "./CategoryChartMockDataGenerator";
import { stringIsNullOrEmpty } from "igniteui-react-core";
/**
 * @hidden
 */
export let CategoryChart = /*@__PURE__*/ (() => {
    class CategoryChart extends XYChart {
        r9() {
            super.r9();
            if (this.dataChart == null) {
                return;
            }
            let a = this.dataChart.cu.j.e();
            this.ac3 = a.d;
            this.ac4 = a.e;
            if (this.acd == null) {
                this.acd = a.k;
            }
            if (this.ack == null) {
                this.ack = a.k;
            }
            this.yc = 0;
            this.acl = AxisDefaults.h;
            this.aco = null;
            this.ach = AxisDefaults.g;
            this.ace = null;
            this.xv = AxisDefaults.f;
            this.aci = AxisDefaults.j;
            this.xw = AxisDefaults.e;
            this.fm = true;
            this.fn = true;
            this.a9 = 0;
            this.h9 = Defaults.j;
            this.up = Defaults.ae;
            this.uk = Defaults.af;
            this.ul = Defaults.ag;
            this.ad5 = true;
        }
        sb(a, b) {
            super.sb(a, b);
            a.hs = this.afm;
            a.ch = this.adq;
        }
        sz(a, b, c) {
            super.sz(a, b, c);
            switch (a) {
                case "TransitionInDuration":
                    this.ry((d) => d.hs = this.afm);
                    break;
                case "TransitionInEasingFunction":
                    this.ry((d) => d.ch = this.adq);
                    break;
            }
        }
        get afm() {
            return this.afk;
        }
        set afm(a) {
            let b = this.afm;
            if (a != b) {
                this.afk = a;
                this.sw("TransitionInDuration", b, this.afm);
            }
        }
        get adq() {
            return this.adp;
        }
        set adq(a) {
            let b = this.adq;
            if (a != b) {
                this.adp = a;
                this.sw("TransitionInEasingFunction", b, this.adq);
            }
        }
        afs() {
            let cvd_ = this.j9();
            cvd_.scaleByViewport();
            return (cvd_.serialize());
        }
        r4(a) {
            super.r4(a);
            a.dt = this.fh;
            a.u0 = this.ad6;
            a.u3 = this.ad7;
            a.vq = this.aev;
            a.vr = this.aew;
            a.t5 = this.ac6;
        }
        sa(a, b) {
            super.sa(a, b);
            let c = typeCast(HorizontalAnchoredCategorySeries.$, a);
            if (c == null) {
                return;
            }
            c.tr = this.adc;
            c.so = this.ad5;
            c.r8 = this.ade;
            c.cb = this.ado;
            c.trendLineBrush = ArrayExtension.getModulus$1(Brush.$, this.ah, b);
            c.trendLineType = this.dq;
            c.trendLineThickness = this.i7;
            c.ql = this.cr(a, b);
            if (a.d6) {
                a.ms(ArrayExtension.getModulus$1(Brush.$, this.ac3, b), ArrayExtension.getModulus$1(Brush.$, this.ac4, b));
            }
        }
        adf() {
            return new CategoryXAxis();
        }
        adj() {
            return new NumericYAxis();
        }
        rn() {
            this.xAxis = this.adf();
            this.xAxis.name = "xAxis";
            let a = this.xAxis;
            a.propertyChanged = delegateCombine(a.propertyChanged, runOn(this, this.agu));
            this.yAxis = this.adj();
            this.yAxis.name = "yAxis";
            let b = this.yAxis;
            b.propertyChanged = delegateCombine(b.propertyChanged, runOn(this, this.agv));
            if (this.xAxis.az == null) {
                this.xAxis.az = new AxisLabelSettings();
            }
            if (this.yAxis.az == null) {
                this.yAxis.az = new AxisLabelSettings();
            }
        }
        abd(a) {
            super.abd(a);
            a.la = this.ad9;
            a.ld = this.aeb;
            a.b1 = this.aea;
        }
        abb(a) {
            super.abb(a);
            a.b1 = this.ad8;
            a.zoomMaximumCategoryRange = this.ae9;
            a.zoomToCategoryRange = this.afb;
            a.zoomToCategoryStart = this.afc;
            a.zoomMaximumItemSpan = this.afa;
            a.zoomToItemSpan = this.afd;
        }
        get_b1() {
            return 0;
        }
        get b1() {
            return this.get_b1();
        }
        get ada() {
            return this.ac9;
        }
        set ada(a) {
            if (a != this.ac9) {
                let b = this.ada;
                this.ac9 = a;
                this.sw("ChartType", enumGetBox(CategoryChartType_$type, b), enumGetBox(CategoryChartType_$type, this.ada));
            }
        }
        get adc() {
            return this.adb;
        }
        set adc(a) {
            let b = this.adc;
            if (a != b) {
                this.adb = a;
                this.sw("MarkerCollisionAvoidance", enumGetBox(CategorySeriesMarkerCollisionAvoidance_$type, b), enumGetBox(CategorySeriesMarkerCollisionAvoidance_$type, this.adc));
            }
        }
        get ad4() {
            return this.adt;
        }
        set ad4(a) {
            let b = this.ad4;
            if (a != b) {
                this.adt = a;
                this.sw("IsSplineShapePartOfRange", b, this.ad4);
            }
        }
        get ad5() {
            return this.adu;
        }
        set ad5(a) {
            let b = this.ad5;
            if (a != b) {
                this.adu = a;
                this.sw("IsTransitionInEnabled", b, this.ad5);
            }
        }
        get ade() {
            return this.add;
        }
        set ade(a) {
            let b = this.ade;
            if (a != b) {
                this.add = a;
                this.sw("TransitionInMode", enumGetBox(CategoryTransitionInMode_$type, b), enumGetBox(CategoryTransitionInMode_$type, this.ade));
            }
        }
        get ado() {
            return this.adn;
        }
        set ado(a) {
            let b = this.ado;
            if (a != b) {
                this.adn = a;
                this.sw("TransitionInSpeedType", enumGetBox(TransitionInSpeedType_$type, b), enumGetBox(TransitionInSpeedType_$type, this.ado));
            }
        }
        get ae4() {
            return this.aeh;
        }
        set ae4(a) {
            let b = this.ae4;
            if (a != b) {
                this.aeh = a;
                this.sw("XAxisInterval", b, this.ae4);
            }
        }
        get ae7() {
            return this.aek;
        }
        set ae7(a) {
            let b = this.ae7;
            if (a != b) {
                this.aek = a;
                this.sw("XAxisMinorInterval", b, this.ae7);
            }
        }
        get ae3() {
            return this.aeg;
        }
        set ae3(a) {
            let b = this.ae3;
            if (a != b) {
                this.aeg = a;
                this.sw("XAxisGap", b, this.ae3);
            }
        }
        get ae6() {
            return this.aej;
        }
        set ae6(a) {
            let b = this.ae6;
            if (a != b) {
                this.aej = a;
                this.sw("XAxisMinimumGapSize", b, this.ae6);
            }
        }
        get ae5() {
            return this.aei;
        }
        set ae5(a) {
            let b = this.ae5;
            if (a != b) {
                this.aei = a;
                this.sw("XAxisMaximumGap", b, this.ae5);
            }
        }
        get ae8() {
            return this.ael;
        }
        set ae8(a) {
            let b = this.ae8;
            if (a != b) {
                this.ael = a;
                this.sw("XAxisOverlap", b, this.ae8);
            }
        }
        get afg() {
            return this.aer;
        }
        set afg(a) {
            let b = this.afg;
            if (a != b) {
                this.aer = a;
                this.sw("YAxisInterval", b, this.afg);
            }
        }
        get ac6() {
            return this.ac5;
        }
        set ac6(a) {
            let b = this.ac6;
            if (a != b) {
                this.ac5 = a;
                this.sw("AutoMarginAndAngleUpdateMode", enumGetBox(AutoMarginsAndAngleUpdateMode_$type, b), enumGetBox(AutoMarginsAndAngleUpdateMode_$type, this.ac6));
            }
        }
        agw() {
            if (this.dataChart != null) {
                this.dataChart.xb();
            }
        }
        get ad6() {
            return this.adv;
        }
        set ad6(a) {
            let b = this.ad6;
            if (a != b) {
                this.adv = a;
                this.sw("ShouldAutoExpandMarginForInitialLabels", b, this.ad6);
            }
        }
        get ad7() {
            return this.adw;
        }
        set ad7(a) {
            let b = this.ad7;
            if (a != b) {
                this.adw = a;
                this.sw(CategoryChart.af1, b, this.ad7);
            }
        }
        get aev() {
            return this.aee;
        }
        set aev(a) {
            let b = this.aev;
            if (a != b) {
                this.aee = a;
                this.sw("AutoExpandMarginExtraPadding", b, this.aev);
            }
        }
        get aew() {
            return this.aef;
        }
        set aew(a) {
            let b = this.aew;
            if (a != b) {
                this.aef = a;
                this.sw("AutoExpandMarginMaximumValue", b, this.aew);
            }
        }
        get aeb() {
            return this.ad0;
        }
        set aeb(a) {
            let b = this.aeb;
            if (a != b) {
                this.ad0 = a;
                this.sw("YAxisFavorLabellingScaleEnd", b, this.aeb);
            }
        }
        get ad8() {
            return this.adx;
        }
        set ad8(a) {
            let b = this.ad8;
            if (a != b) {
                this.adx = a;
                this.sw(CategoryChart.af6, b, this.ad8);
            }
        }
        get aea() {
            return this.adz;
        }
        set aea(a) {
            let b = this.aea;
            if (a != b) {
                this.adz = a;
                this.sw(CategoryChart.agk, b, this.aea);
            }
        }
        get ac8() {
            return this.ac7;
        }
        set ac8(a) {
            let b = this.ac8;
            if (a != b) {
                this.ac7 = a;
                this.sw("YAxisAutoRangeBufferMode", enumGetBox(AxisRangeBufferMode_$type, b), enumGetBox(AxisRangeBufferMode_$type, this.ac8));
            }
        }
        get aec() {
            return this.ad1;
        }
        set aec(a) {
            let b = this.aec;
            if (a != b) {
                this.ad1 = a;
                this.sw("YAxisIsLogarithmic", b, this.aec);
            }
        }
        get afn() {
            return this.afl;
        }
        set afn(a) {
            let b = this.afn;
            if (a != b) {
                this.afl = a;
                this.sw("YAxisLogarithmBase", b, this.afn);
            }
        }
        get afi() {
            return this.aet;
        }
        set afi(a) {
            let b = this.afi;
            if (a != b) {
                this.aet = a;
                this.sw("YAxisMinimumValue", b, this.afi);
            }
        }
        get afh() {
            return this.aes;
        }
        set afh(a) {
            let b = this.afh;
            if (a != b) {
                this.aes = a;
                this.sw("YAxisMaximumValue", b, this.afh);
            }
        }
        get afj() {
            return this.aeu;
        }
        set afj(a) {
            let b = this.afj;
            if (a != b) {
                this.aeu = a;
                this.sw("YAxisMinorInterval", b, this.afj);
            }
        }
        get ae2() {
            return this.xAxis.mw;
        }
        get ae1() {
            return this.xAxis.mv;
        }
        aey() {
            return this.ae2;
        }
        ae0() {
            return this.aff;
        }
        aex() {
            return this.ae1;
        }
        aez() {
            return this.afe;
        }
        get aff() {
            return this.yAxis.lx;
        }
        get afe() {
            return this.yAxis.lw;
        }
        get ac3() {
            return this.ac1;
        }
        set ac3(a) {
            let b = this.ac3;
            if (a != b) {
                this.ac1 = a;
                this.sw("NegativeBrushes", b, this.ac3);
            }
        }
        get ac4() {
            return this.ac2;
        }
        set ac4(a) {
            let b = this.ac4;
            if (a != b) {
                this.ac2 = a;
                this.sw("NegativeOutlines", b, this.ac4);
            }
        }
        get ad9() {
            return this.ady;
        }
        set ad9(a) {
            let b = this.ad9;
            if (a != b) {
                this.ady = a;
                this.sw("YAxisAbbreviateLargeNumbers", b, this.ad9);
            }
        }
        get ae9() {
            return this.aem;
        }
        set ae9(a) {
            let b = this.ae9;
            if (a != b) {
                this.aem = a;
                this.sw("XAxisZoomMaximumCategoryRange", b, this.ae9);
            }
        }
        get afa() {
            return this.aen;
        }
        set afa(a) {
            let b = this.afa;
            if (a != b) {
                this.aen = a;
                this.sw("XAxisZoomMaximumItemSpan", b, this.afa);
            }
        }
        get afb() {
            return this.aeo;
        }
        set afb(a) {
            let b = this.afb;
            if (a != b) {
                this.aeo = a;
                this.sw("XAxisZoomToCategoryRange", b, this.afb);
            }
        }
        get afc() {
            return this.aep;
        }
        set afc(a) {
            let b = this.afc;
            if (a != b) {
                this.aep = a;
                this.sw("XAxisZoomToCategoryStart", b, this.afc);
            }
        }
        get afd() {
            return this.aeq;
        }
        set afd(a) {
            let b = this.afd;
            if (a != b) {
                this.aeq = a;
                this.sw("XAxisZoomToItemSpan", b, this.afd);
            }
        }
        get ad2() {
            return this.adr;
        }
        set ad2(a) {
            let b = this.ad2;
            if (a != b) {
                this.adr = a;
                this.sw("IsCategoryHighlightingEnabled", b, this.ad2);
            }
        }
        get ad3() {
            return this.ads;
        }
        set ad3(a) {
            let b = this.ad3;
            if (a != b) {
                this.ads = a;
                this.sw("IsItemHighlightingEnabled", b, this.ad3);
            }
        }
        constructor() {
            super();
            this.afk = 1000;
            this.adp = null;
            this.ac9 = 9;
            this.adb = 1;
            this.adt = false;
            this.adu = true;
            this.add = 0;
            this.adn = 0;
            this.aeh = 0;
            this.aek = 0;
            this.aeg = 0;
            this.aej = 0;
            this.aei = 1;
            this.ael = 0;
            this.aer = NaN;
            this.ac5 = 1;
            this.adv = true;
            this.adw = true;
            this.aee = DeviceUtils.g(2);
            this.aef = DeviceUtils.g(60);
            this.ad0 = true;
            this.adx = true;
            this.adz = false;
            this.ac7 = 0;
            this.ad1 = false;
            this.afl = 10;
            this.aet = NaN;
            this.aes = NaN;
            this.aeu = 0;
            this.ac1 = null;
            this.ac2 = null;
            this.ady = true;
            this.aem = 3;
            this.aen = NaN;
            this.aeo = NaN;
            this.aep = NaN;
            this.aeq = NaN;
            this.adr = false;
            this.ads = false;
            this.aed = null;
            DVContainer.instance.registerIfLoaded("CategoryChartToolbarFactoryManager");
            this.rr();
        }
        get_gr() {
            let a = new List$1(DataSeriesType_$type, 0);
            if (TypeRegistrar.isRegistered("AreaSeries")) {
                a.add(2);
            }
            if (TypeRegistrar.isRegistered("ColumnSeries")) {
                a.add(1);
            }
            if (TypeRegistrar.isRegistered("LineSeries")) {
                a.add(0);
            }
            if (TypeRegistrar.isRegistered("PointSeries")) {
                a.add(10);
            }
            if (TypeRegistrar.isRegistered("SplineSeries")) {
                a.add(6);
            }
            if (TypeRegistrar.isRegistered("SplineAreaSeries")) {
                a.add(7);
            }
            if (TypeRegistrar.isRegistered("StepAreaSeries")) {
                a.add(5);
            }
            if (TypeRegistrar.isRegistered("StepLineSeries")) {
                a.add(4);
            }
            if (TypeRegistrar.isRegistered("WaterfallSeries")) {
                a.add(8);
            }
            return a;
        }
        get gr() {
            return this.get_gr();
        }
        gv() {
            if (this.aed == null) {
                this.aed = CategoryChartMockDataGenerator.a();
            }
            return this.aed;
        }
        cq(a) {
            if (a != null) {
                let b = super.cq(a);
                if (b == 2) {
                    if (a.d5 && this.fx) {
                        return 13;
                    }
                }
            }
            return super.cq(a);
        }
        cs(a) {
            if (a != null) {
                let b = super.cq(a);
                if (b == 2) {
                    if (a.d5 && this.fx) {
                        return 13;
                    }
                }
            }
            return super.cs(a);
        }
        get_ge() {
            return this.xAxis != null && this.xAxis.categoryMode != 0;
        }
        agu(a, b) {
            switch (b.propertyName) {
                case "ActualMinimum":
                    this.s6("XAxisActualMinimum");
                    break;
                case "ActualMaximum":
                    this.s6("XAxisActualMaximum");
                    break;
            }
        }
        agv(a, b) {
            switch (b.propertyName) {
                case "ActualMinimumValue":
                    this.s6("YAxisActualMinimum");
                    break;
                case "ActualMaximumValue":
                    this.s6("YAxisActualMaximum");
                    break;
            }
        }
        ti() {
            super.ti();
            this.xAxis.f0 = this.ym == null ? XYChart.yy(this.xAxis, this.bd.dataSeries) : this.ym;
            this.xAxis.itemsSource = this.dataChart != null && this.dataChart.series.count > 0 ? this.dataChart.series._inner[0].itemsSource : null;
            if (this.ad6) {
                this.so((a) => a.xb());
            }
        }
        get xAxis() {
            return this._xAxis;
        }
        set xAxis(a) {
            this._xAxis = a;
        }
        get yAxis() {
            return this._yAxis;
        }
        set yAxis(a) {
            this._yAxis = a;
        }
        adi(a, b) {
            switch (a) {
                case 2: return this.c3(1);
                case 3: return this.c3(10);
                case 0: return this.c3(0);
                case 1: return this.c3(2);
                case 6: return this.c3(6);
                case 7: return this.c3(7);
                case 4: return this.c3(4);
                case 5: return this.c3(5);
                case 8: return this.c3(8);
                case 9: return this.adh(b);
                default: return this.c3(1);
            }
        }
        adh(a) {
            return this.c3(a);
        }
        bc(a) {
            switch (this.ada) {
                case 1: return 2;
                case 0: return 0;
                case 3: return 10;
                case 6: return 6;
                case 7: return 7;
                case 5: return 5;
                case 4: return 4;
                case 8: return 8;
                case 9: return a.suggestedSeries;
                default:
                case 2: return 1;
            }
        }
        c1(a, b) {
            let c = this.adi(this.ada, a.suggestedSeries);
            c.uc = a.findMatchingHint(0).path;
            c.xAxis = this.xAxis;
            c.yAxis = this.yAxis;
            return c;
        }
        tg(a) {
            if (a.suggestedSecondaryAxis == 2) {
                this.yAxis.li = true;
                this.yAxis.l9 = 10;
            }
        }
        tj() {
            this.yAxis.li = this.aec;
            this.yAxis.l9 = this.afn;
        }
        get_gq() {
            return ((() => {
                let $ret = new List$1(IDataSeriesAdapterRule_$type, 0);
                $ret.add(new SimpleCategorySeriesRule());
                $ret.add(new SubCollectionsRule());
                return $ret;
            })());
        }
        get gq() {
            return this.get_gq();
        }
        rj(a, b) {
            let c = typeCast(HorizontalAnchoredCategorySeries.$, a);
            if (c != null) {
                c.tr = this.adc;
                c.ql = this.cr(a, b);
            }
        }
        ags(a) {
            this.agt((b, c) => a(b));
        }
        agt(a) {
            if (this.dataChart == null) {
                return;
            }
            for (let b = 0; b < this.dataChart.series.count; b++) {
                let c = typeCast(HorizontalAnchoredCategorySeries.$, this.dataChart.series._inner[b]);
                if (c == null) {
                    continue;
                }
                a(c, b);
            }
        }
        v4() {
            return this.xAxis;
        }
        v5() {
            return this.yAxis;
        }
        adl() {
            return this.c3(30);
        }
        adm() {
            return this.c3(31);
        }
        gn(a, b) {
            let c = super.gn(a, b);
            if (c != null) {
                let d = new List$1(Series.$, 0);
                if (this.adr) {
                    d.add(this.adl());
                }
                if (this.ads) {
                    d.add(this.adm());
                }
                for (let e = 0; e < d.count; e++) {
                    let f = d._inner[e];
                    f.name = a + getInstanceType(f).typeName;
                    c.add(f);
                }
            }
            return c;
        }
        a7() {
            if (this.a6 == 0) {
                return 1;
            }
            else {
                return this.a6;
            }
        }
        to(a, b, c) {
            super.to(a, b, c);
            if (this.bd.dataSeries.count > 0) {
                if (stringIsNullOrEmpty(this.lm)) {
                    this.b3.setXMemberPath(a, c.getMemberPathFor(16));
                }
                if (stringIsNullOrEmpty(this.lo)) {
                    this.b3.setYMemberPath(a, c.getMemberPathFor(0));
                }
                if (stringIsNullOrEmpty(this.li)) {
                    this.b3.setLabelMemberPath(a, c.getMemberPathFor(0));
                }
                if (stringIsNullOrEmpty(this.lf)) {
                    this.b3.setContentMemberPath(a, c.getMemberPathFor(0));
                }
            }
        }
        f0() {
            if (this.a9 == 4 || this.a9 == 3) {
                return true;
            }
            else if (this.a9 == 0) {
                if (this.ada == 2 || this.ada == 8) {
                    return false;
                }
                else if (this.ada == 9 && this.bd != null && this.bd.dataSeries != null && this.bd.dataSeries.count > 0) {
                    let a = this.bd.dataSeries._inner[0].suggestedSeries;
                    if (a == 1 || a == 8) {
                        return false;
                    }
                }
                return true;
            }
            return false;
        }
        get_f6() {
            return DVContainer.instance.checkLoaded("CategoryChartToolbarFactoryManager");
        }
        sw(a, b, c) {
            super.sw(a, b, c);
            switch (a) {
                case "ChartType":
                    this.ti();
                    break;
                case "MarkerCollisionAvoidance":
                    this.ags((d) => d.tr = this.adc);
                    break;
                case "IsTransitionInEnabled":
                    this.ags((d) => d.so = this.ad5);
                    break;
                case "IsSplineShapePartOfRange":
                    this.ags((d) => {
                        if (d.ej) {
                            d.mt(this.ad4);
                        }
                    });
                    break;
                case "TransitionInMode":
                    this.ags((d) => d.r8 = this.ade);
                    break;
                case "TransitionInSpeedType":
                    this.ags((d) => d.cb = this.ado);
                    break;
                case "XAxisInterval":
                    this.xAxis.mr = this.ae4;
                    break;
                case "XAxisMinorInterval":
                    this.xAxis.ms = this.ae7;
                    break;
                case "XAxisGap":
                    this.xAxis.k1 = this.ae3;
                    break;
                case "XAxisOverlap":
                    this.xAxis.la = this.ae8;
                    break;
                case "XAxisMinimumGapSize":
                    this.xAxis.k9 = this.ae6;
                    break;
                case "XAxisMaximumGap":
                    this.xAxis.k8 = this.ae5;
                    break;
                case "XAxisZoomMaximumCategoryRange":
                    this.xAxis.zoomMaximumCategoryRange = this.ae9;
                    break;
                case "XAxisZoomMaximumItemSpan":
                    this.xAxis.zoomMaximumItemSpan = this.afa;
                    break;
                case "XAxisZoomToCategoryRange":
                    this.xAxis.zoomToCategoryRange = this.afb;
                    break;
                case "XAxisZoomToCategoryStart":
                    this.xAxis.zoomToCategoryStart = this.afc;
                    break;
                case "XAxisZoomToItemSpan":
                    this.xAxis.zoomToItemSpan = this.afd;
                    break;
                case "YAxisInterval":
                    this.yAxis.l1 = this.afg;
                    break;
                case "YAxisFavorLabellingScaleEnd":
                    this.yAxis.ld = this.aeb;
                    break;
                case "YAxisAutoRangeBufferMode":
                    this.yAxis.ku = this.ac8;
                    break;
                case "YAxisIsLogarithmic":
                    this.yAxis.li = this.aec;
                    break;
                case "YAxisLogarithmBase":
                    this.yAxis.l9 = this.afn;
                    break;
                case "YAxisMinimumValue":
                    this.yAxis.l5 = this.afi;
                    break;
                case "YAxisMaximumValue":
                    this.yAxis.l4 = this.afh;
                    break;
                case "YAxisMinorInterval":
                    this.yAxis.l6 = this.afj;
                    break;
                case "NegativeBrushes":
                case "NegativeOutlines":
                    this.agt((d, e) => {
                        if (d.d6) {
                            d.ms(ArrayExtension.getModulus$1(Brush.$, this.ac3, e), ArrayExtension.getModulus$1(Brush.$, this.ac4, e));
                        }
                    });
                    break;
                case "YAxisAbbreviateLargeNumbers":
                    this.abk((d) => d.la = this.ad9);
                    break;
                case "IsCategoryHighlightingEnabled":
                case "IsItemHighlightingEnabled":
                    this.ti();
                    break;
                case "AutoMarginAndAngleUpdateMode":
                    this.so((d) => d.t5 = this.ac6);
                    break;
                case "ShouldAutoExpandMarginForInitialLabels":
                    this.so((d) => d.u0 = this.ad6);
                    break;
                case CategoryChart.af1:
                    this.so((d) => d.u3 = this.ad7);
                    break;
                case "AutoExpandMarginExtraPadding":
                    this.so((d) => d.vq = this.aev);
                    break;
                case "AutoExpandMarginMaximumValue":
                    this.so((d) => d.vr = this.aew);
                    break;
                case CategoryChart.af6:
                    this.abg((d) => d.b1 = this.ad8, a);
                    break;
                case CategoryChart.agk:
                    this.abk((d) => d.b1 = this.aea);
                    break;
            }
        }
    }
    CategoryChart.$t = /*@__PURE__*/ markType(CategoryChart, 'CategoryChart', XYChart.$);
    CategoryChart.af1 = "ShouldConsiderAutoRotationForInitialLabels";
    CategoryChart.af6 = "XAxisEnhancedIntervalPreferMoreCategoryLabels";
    CategoryChart.agk = "YAxisEnhancedIntervalPreferMoreCategoryLabels";
    return CategoryChart;
})();
