/*
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 { DataPieBaseChart } from "./DataPieBaseChart";
import { typeCast, enumGetBox, markType } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { DataSeriesType_$type } from "igniteui-react-core";
import { IDataSeriesAdapterRule_$type } from "igniteui-react-core";
import { SimplePieSeriesRule } from "igniteui-react-core";
import { SubCollectionsRule } from "igniteui-react-core";
import { DataPieChartType_$type } from "./DataPieChartType";
import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode";
import { TransitionInSpeedType_$type } from "./TransitionInSpeedType";
import { BrushUtil } from "igniteui-react-core";
import { AxisDefaults } from "./AxisDefaults";
import { Defaults } from "./Defaults";
import { DeviceUtils } from "igniteui-react-core";
import { RadialBase } from "./RadialBase";
import { RadialPieSeries } from "./RadialPieSeries";
/**
 * @hidden
 */
export let DataPieChart = /*@__PURE__*/ (() => {
    class DataPieChart extends DataPieBaseChart {
        ur() {
            super.ur();
            if (this.dataChart == null) {
                return;
            }
            let a = this.dataChart.c8.j.e();
            if (this.afh == null) {
                this.afh = a.k;
            }
            if (this.afo == null) {
                this.afo = a.k;
            }
            this.abg = 0;
            this.afp = BrushUtil.h(0, 0, 0, 0);
            this.afs = BrushUtil.h(0, 0, 0, 0);
            this.afl = BrushUtil.h(0, 0, 0, 0);
            this.afi = BrushUtil.h(0, 0, 0, 0);
            this.aav = 0;
            this.afm = BrushUtil.h(0, 0, 0, 0);
            this.aaw = AxisDefaults.e;
            this.af3 = 1;
            this.af4 = 1;
            this.bf = 1;
            this.gj = true;
            this.jg = Defaults.j;
            this.xk = Defaults.ae;
            this.xf = Defaults.af;
            this.xg = Defaults.ag;
            this.gc = true;
            this.hf = true;
            this.g0 = false;
            this.g8 = false;
            this.b3 = 1;
            this.bz = 11;
            this.ajw = true;
            this.xe = BrushUtil.h(255, 255, 255, 255);
            this.jf = DeviceUtils.g(2);
            this.gg = true;
            this.ge = true;
            this.ga = true;
            this.di = 4;
            this.dg = 4;
        }
        ut(a, b) {
            super.ut(a, b);
            a.kc = this.ajz;
            a.kd = this.aj0;
            a.dc = this.ajt;
            a.dd = this.aju;
        }
        vi(a, b, c) {
            super.vi(a, b, c);
            switch (a) {
                case "TransitionInDuration":
                    this.ug((d) => d.kc = this.ajz);
                    break;
                case "TransitionOutDuration":
                    this.ug((d) => d.kd = this.aj0);
                    break;
                case "TransitionInEasingFunction":
                    this.ug((d) => d.dc = this.ajt);
                    break;
                case "TransitionOutEasingFunction":
                    this.ug((d) => d.dd = this.aju);
                    break;
            }
        }
        get ajz() {
            return this.ajx;
        }
        set ajz(a) {
            let b = this.ajz;
            if (a != b) {
                this.ajx = a;
                this.vf("TransitionInDuration", b, this.ajz);
            }
        }
        get aj0() {
            return this.ajy;
        }
        set aj0(a) {
            let b = this.aj0;
            if (a != b) {
                this.ajy = a;
                this.vf("TransitionOutDuration", b, this.aj0);
            }
        }
        get ajt() {
            return this.ajr;
        }
        set ajt(a) {
            let b = this.ajt;
            if (a != b) {
                this.ajr = a;
                this.vf("TransitionInEasingFunction", b, this.ajt);
            }
        }
        get aju() {
            return this.ajs;
        }
        set aju(a) {
            let b = this.aju;
            if (a != b) {
                this.ajs = a;
                this.vf("TransitionOutEasingFunction", b, this.aju);
            }
        }
        aj2() {
            let cvd_ = this.lp();
            cvd_.scaleByViewport();
            return (cvd_.serialize());
        }
        constructor() {
            super();
            this.ajx = 1000;
            this.ajy = 1000;
            this.ajr = null;
            this.ajs = null;
            this.ajn = 0;
            this.ajv = true;
            this.ajl = 0;
            this.ajp = 3;
            this.t8();
        }
        get_hs() {
            return ((() => {
                let $ret = new List$1(DataSeriesType_$type, 0);
                $ret.add(34);
                return $ret;
            })());
        }
        get hs() {
            return this.get_hs();
        }
        get_hr() {
            return ((() => {
                let $ret = new List$1(IDataSeriesAdapterRule_$type, 0);
                $ret.add(new SimplePieSeriesRule());
                $ret.add(new SubCollectionsRule());
                return $ret;
            })());
        }
        get hr() {
            return this.get_hr();
        }
        get_ag1() {
            return false;
        }
        bi(a) {
            if (this.ajo == 0) {
                return a.suggestedSeries;
            }
            if (this.ajo == 1) {
                return 34;
            }
            return 34;
        }
        da(a, b) {
            let c = super.da(a, b);
            return c;
        }
        um(a, b) {
            super.um(a, b);
        }
        us(a, b) {
            super.us(a, b);
            let c = typeCast(RadialBase.$, a);
            if (c == null) {
                return;
            }
            c.zj = this.ajw;
            c.yt = this.ajm;
            c.c3 = this.ajq;
        }
        tx(a, b) {
            super.tx(a, b);
            let c = typeCast(RadialPieSeries.$, a);
            if (c != null) {
                c.w1 = this.c0(a, b);
            }
        }
        cz(a) {
            return 13;
        }
        vf(a, b, c) {
            super.vf(a, b, c);
            switch (a) {
                case "ChartType":
                    this.t7();
                    break;
            }
        }
        get_b9() {
            return 4;
        }
        get b9() {
            return this.get_b9();
        }
        get ajo() {
            return this.ajn;
        }
        set ajo(a) {
            if (a != this.ajn) {
                let b = this.ajo;
                this.ajn = a;
                this.vf("ChartType", enumGetBox(DataPieChartType_$type, b), enumGetBox(DataPieChartType_$type, this.ajo));
            }
        }
        get ajw() {
            return this.ajv;
        }
        set ajw(a) {
            let b = this.ajw;
            if (a != b) {
                this.ajv = a;
                this.vf("IsTransitionInEnabled", b, this.ajw);
            }
        }
        get ajm() {
            return this.ajl;
        }
        set ajm(a) {
            let b = this.ajm;
            if (a != b) {
                this.ajl = a;
                this.vf("TransitionInMode", enumGetBox(CategoryTransitionInMode_$type, b), enumGetBox(CategoryTransitionInMode_$type, this.ajm));
            }
        }
        get ajq() {
            return this.ajp;
        }
        set ajq(a) {
            let b = this.ajq;
            if (a != b) {
                this.ajp = a;
                this.vf("TransitionInSpeedType", enumGetBox(TransitionInSpeedType_$type, b), enumGetBox(TransitionInSpeedType_$type, this.ajq));
            }
        }
    }
    DataPieChart.$t = /*@__PURE__*/ markType(DataPieChart, 'DataPieChart', DataPieBaseChart.$);
    return DataPieChart;
})();
