/*
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 {
        ux() {
            super.ux();
            if (this.dataChart == null) {
                return;
            }
            let a = this.dataChart.c8.j.e();
            if (this.aft == null) {
                this.aft = a.k;
            }
            if (this.af0 == null) {
                this.af0 = a.k;
            }
            this.abs = 0;
            this.af1 = BrushUtil.h(0, 0, 0, 0);
            this.af4 = BrushUtil.h(0, 0, 0, 0);
            this.afx = BrushUtil.h(0, 0, 0, 0);
            this.afu = BrushUtil.h(0, 0, 0, 0);
            this.aa7 = 0;
            this.afy = BrushUtil.h(0, 0, 0, 0);
            this.aa8 = AxisDefaults.e;
            this.agf = 1;
            this.agg = 1;
            this.bf = 1;
            this.gp = true;
            this.jm = Defaults.j;
            this.xw = Defaults.ae;
            this.xr = Defaults.af;
            this.xs = Defaults.ag;
            this.gi = true;
            this.hl = true;
            this.g6 = false;
            this.he = false;
            this.b3 = 1;
            this.bz = 11;
            this.akb = true;
            this.xq = BrushUtil.h(255, 255, 255, 255);
            this.jl = DeviceUtils.g(2);
            this.gm = true;
            this.gk = true;
            this.gg = true;
            this.dp = 4;
            this.dm = 4;
        }
        uz(a, b) {
            super.uz(a, b);
            a.kc = this.ake;
            a.kd = this.akf;
            a.dc = this.aj8;
            a.dd = this.aj9;
        }
        vo(a, b, c) {
            super.vo(a, b, c);
            switch (a) {
                case "TransitionInDuration":
                    this.um((d) => d.kc = this.ake);
                    break;
                case "TransitionOutDuration":
                    this.um((d) => d.kd = this.akf);
                    break;
                case "TransitionInEasingFunction":
                    this.um((d) => d.dc = this.aj8);
                    break;
                case "TransitionOutEasingFunction":
                    this.um((d) => d.dd = this.aj9);
                    break;
            }
        }
        get ake() {
            return this.akc;
        }
        set ake(a) {
            let b = this.ake;
            if (a != b) {
                this.akc = a;
                this.vl("TransitionInDuration", b, this.ake);
            }
        }
        get akf() {
            return this.akd;
        }
        set akf(a) {
            let b = this.akf;
            if (a != b) {
                this.akd = a;
                this.vl("TransitionOutDuration", b, this.akf);
            }
        }
        get aj8() {
            return this.aj6;
        }
        set aj8(a) {
            let b = this.aj8;
            if (a != b) {
                this.aj6 = a;
                this.vl("TransitionInEasingFunction", b, this.aj8);
            }
        }
        get aj9() {
            return this.aj7;
        }
        set aj9(a) {
            let b = this.aj9;
            if (a != b) {
                this.aj7 = a;
                this.vl("TransitionOutEasingFunction", b, this.aj9);
            }
        }
        akh() {
            let cvd_ = this.lv();
            cvd_.scaleByViewport();
            return (cvd_.serialize());
        }
        constructor() {
            super();
            this.akc = 1000;
            this.akd = 1000;
            this.aj6 = null;
            this.aj7 = null;
            this.aj2 = 0;
            this.aka = true;
            this.aj0 = 0;
            this.aj4 = 3;
            this.ue();
        }
        get_hy() {
            return ((() => {
                let $ret = new List$1(DataSeriesType_$type, 0);
                $ret.add(34);
                return $ret;
            })());
        }
        get hy() {
            return this.get_hy();
        }
        get_hx() {
            return ((() => {
                let $ret = new List$1(IDataSeriesAdapterRule_$type, 0);
                $ret.add(new SimplePieSeriesRule());
                $ret.add(new SubCollectionsRule());
                return $ret;
            })());
        }
        get hx() {
            return this.get_hx();
        }
        get_ahd() {
            return false;
        }
        bi(a) {
            if (this.aj3 == 0) {
                return a.suggestedSeries;
            }
            if (this.aj3 == 1) {
                return 34;
            }
            return 34;
        }
        dg(a, b) {
            let c = super.dg(a, b);
            return c;
        }
        us(a, b) {
            super.us(a, b);
        }
        uy(a, b) {
            super.uy(a, b);
            let c = typeCast(RadialBase.$, a);
            if (c == null) {
                return;
            }
            c.zk = this.akb;
            c.yu = this.aj1;
            c.c3 = this.aj5;
        }
        t3(a, b) {
            super.t3(a, b);
            let c = typeCast(RadialPieSeries.$, a);
            if (c != null) {
                c.w2 = this.c6(a, b);
            }
        }
        c5(a) {
            return 13;
        }
        vl(a, b, c) {
            super.vl(a, b, c);
            switch (a) {
                case "ChartType":
                    this.ud();
                    break;
            }
        }
        get_cf() {
            return 4;
        }
        get cf() {
            return this.get_cf();
        }
        get aj3() {
            return this.aj2;
        }
        set aj3(a) {
            if (a != this.aj2) {
                let b = this.aj3;
                this.aj2 = a;
                this.vl("ChartType", enumGetBox(DataPieChartType_$type, b), enumGetBox(DataPieChartType_$type, this.aj3));
            }
        }
        get akb() {
            return this.aka;
        }
        set akb(a) {
            let b = this.akb;
            if (a != b) {
                this.aka = a;
                this.vl("IsTransitionInEnabled", b, this.akb);
            }
        }
        get aj1() {
            return this.aj0;
        }
        set aj1(a) {
            let b = this.aj1;
            if (a != b) {
                this.aj0 = a;
                this.vl("TransitionInMode", enumGetBox(CategoryTransitionInMode_$type, b), enumGetBox(CategoryTransitionInMode_$type, this.aj1));
            }
        }
        get aj5() {
            return this.aj4;
        }
        set aj5(a) {
            let b = this.aj5;
            if (a != b) {
                this.aj4 = a;
                this.vl("TransitionInSpeedType", enumGetBox(TransitionInSpeedType_$type, b), enumGetBox(TransitionInSpeedType_$type, this.aj5));
            }
        }
    }
    DataPieChart.$t = /*@__PURE__*/ markType(DataPieChart, 'DataPieChart', DataPieBaseChart.$);
    return DataPieChart;
})();
