/*
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 { Base, toNullable, Number_$type, Boolean_$type, fromEnum, markType } from "igniteui-angular-core";
import { ST_SparklineType_$type } from "./ST_SparklineType";
import { ST_DispBlanksAs_$type } from "./ST_DispBlanksAs";
import { ST_SparklineAxisMinMax_$type } from "./ST_SparklineAxisMinMax";
import { CultureInfo } from "igniteui-angular-core";
import { XmlNamespaceDefinitionBase } from "./XmlNamespaceDefinitionBase";
import { ST_OnOff } from "./ST_OnOff";
import { parseNumber } from "igniteui-angular-core";
/**
 * @hidden
 */
export let CT_SparklineGroup = /*@__PURE__*/ (() => {
    class CT_SparklineGroup extends Base {
        constructor() {
            super();
            this.p = null;
            this.n = null;
            this.b = null;
            this.l = null;
            this.d = null;
            this.h = null;
            this.f = null;
            this.j = null;
            this.bg = null;
            this.af = null;
            this.a0 = toNullable(Number_$type, null);
            this.a2 = toNullable(Number_$type, null);
            this.aw = toNullable(Number_$type, null);
            this.be = toNullable(ST_SparklineType_$type, null);
            this.ai = toNullable(Boolean_$type, null);
            this.ak = toNullable(ST_DispBlanksAs_$type, null);
            this.a4 = toNullable(Boolean_$type, null);
            this.as = toNullable(Boolean_$type, null);
            this.ay = toNullable(Boolean_$type, null);
            this.aq = toNullable(Boolean_$type, null);
            this.au = toNullable(Boolean_$type, null);
            this.ba = toNullable(Boolean_$type, null);
            this.ao = toNullable(Boolean_$type, null);
            this.am = toNullable(Boolean_$type, null);
            this.a8 = toNullable(ST_SparklineAxisMinMax_$type, null);
            this.a6 = toNullable(ST_SparklineAxisMinMax_$type, null);
            this.bc = toNullable(Boolean_$type, null);
        }
        get o() {
            return this.p;
        }
        set o(a) {
            this.p = a;
        }
        get m() {
            return this.n;
        }
        set m(a) {
            this.n = a;
        }
        get a() {
            return this.b;
        }
        set a(a) {
            this.b = a;
        }
        get k() {
            return this.l;
        }
        set k(a) {
            this.l = a;
        }
        get c() {
            return this.d;
        }
        set c(a) {
            this.d = a;
        }
        get g() {
            return this.h;
        }
        set g(a) {
            this.h = a;
        }
        get e() {
            return this.f;
        }
        set e(a) {
            this.f = a;
        }
        get i() {
            return this.j;
        }
        set i(a) {
            this.j = a;
        }
        get bf() {
            return this.bg;
        }
        set bf(a) {
            this.bg = a;
        }
        get ae() {
            return this.af;
        }
        set ae(a) {
            this.af = a;
        }
        get az() {
            return this.a0;
        }
        set az(a) {
            this.a0 = a;
        }
        get a1() {
            return this.a2;
        }
        set a1(a) {
            this.a2 = a;
        }
        get av() {
            return this.aw;
        }
        set av(a) {
            this.aw = a;
        }
        get bd() {
            return this.be;
        }
        set bd(a) {
            this.be = a;
        }
        get ah() {
            return this.ai;
        }
        set ah(a) {
            this.ai = a;
        }
        get aj() {
            return this.ak;
        }
        set aj(a) {
            this.ak = a;
        }
        get a3() {
            return this.a4;
        }
        set a3(a) {
            this.a4 = a;
        }
        get ar() {
            return this.as;
        }
        set ar(a) {
            this.as = a;
        }
        get ax() {
            return this.ay;
        }
        set ax(a) {
            this.ay = a;
        }
        get ap() {
            return this.aq;
        }
        set ap(a) {
            this.aq = a;
        }
        get at() {
            return this.au;
        }
        set at(a) {
            this.au = a;
        }
        get a9() {
            return this.ba;
        }
        set a9(a) {
            this.ba = a;
        }
        get an() {
            return this.ao;
        }
        set an(a) {
            this.ao = a;
        }
        get al() {
            return this.am;
        }
        set al(a) {
            this.am = a;
        }
        get a7() {
            return this.a8;
        }
        set a7(a) {
            this.a8 = a;
        }
        get a5() {
            return this.a6;
        }
        set a5(a) {
            this.a6 = a;
        }
        get bb() {
            return this.bc;
        }
        set bb(a) {
            this.bc = a;
        }
        static bh(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) {
            b = toNullable(Number_$type, null);
            c = toNullable(Number_$type, null);
            d = toNullable(Number_$type, null);
            e = toNullable(ST_SparklineType_$type, null);
            f = toNullable(Boolean_$type, null);
            g = toNullable(ST_DispBlanksAs_$type, null);
            h = toNullable(Boolean_$type, null);
            i = toNullable(Boolean_$type, null);
            j = toNullable(Boolean_$type, null);
            k = toNullable(Boolean_$type, null);
            l = toNullable(Boolean_$type, null);
            m = toNullable(Boolean_$type, null);
            n = toNullable(Boolean_$type, null);
            o = toNullable(Boolean_$type, null);
            p = toNullable(ST_SparklineAxisMinMax_$type, null);
            q = toNullable(ST_SparklineAxisMinMax_$type, null);
            r = toNullable(Boolean_$type, null);
            for (let s of fromEnum(a.ab.u)) {
                switch (s.a.e(a.d)) {
                    case "manualMax":
                        b = toNullable(Number_$type, parseNumber(s.d, CultureInfo.invariantCulture));
                        break;
                    case "manualMin":
                        c = toNullable(Number_$type, parseNumber(s.d, CultureInfo.invariantCulture));
                        break;
                    case "lineWeight":
                        d = toNullable(Number_$type, parseNumber(s.d, CultureInfo.invariantCulture));
                        break;
                    case "type":
                        e = toNullable(ST_SparklineType_$type, XmlNamespaceDefinitionBase.b(ST_SparklineType_$type, s.d));
                        break;
                    case "dateAxis":
                        f = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "displayEmptyCellsAs":
                        g = toNullable(ST_DispBlanksAs_$type, XmlNamespaceDefinitionBase.b(ST_DispBlanksAs_$type, s.d));
                        break;
                    case "markers":
                        h = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "high":
                        i = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "low":
                        j = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "first":
                        k = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "last":
                        l = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "negative":
                        m = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "displayXAxis":
                        n = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "displayHidden":
                        o = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    case "minAxisType":
                        p = toNullable(ST_SparklineAxisMinMax_$type, XmlNamespaceDefinitionBase.b(ST_SparklineAxisMinMax_$type, s.d));
                        break;
                    case "maxAxisType":
                        q = toNullable(ST_SparklineAxisMinMax_$type, XmlNamespaceDefinitionBase.b(ST_SparklineAxisMinMax_$type, s.d));
                        break;
                    case "rightToLeft":
                        r = toNullable(Boolean_$type, ST_OnOff.e(s.d));
                        break;
                    default: break;
                }
            }
            ;
            return {
                p1: b,
                p2: c,
                p3: d,
                p4: e,
                p5: f,
                p6: g,
                p7: h,
                p8: i,
                p9: j,
                p10: k,
                p11: l,
                p12: m,
                p13: n,
                p14: o,
                p15: p,
                p16: q,
                p17: r
            };
        }
        static bi(a, b, c = toNullable(Boolean_$type, null), d = toNullable(ST_DispBlanksAs_$type, null), e = toNullable(Boolean_$type, null), f = toNullable(Boolean_$type, null), g = toNullable(Boolean_$type, null), h = toNullable(Boolean_$type, null), i = toNullable(Boolean_$type, null), j = toNullable(Number_$type, null), k = toNullable(Boolean_$type, null), l = toNullable(Number_$type, null), m = toNullable(Number_$type, null), n = toNullable(Boolean_$type, null), o = toNullable(ST_SparklineAxisMinMax_$type, null), p = toNullable(ST_SparklineAxisMinMax_$type, null), q = toNullable(Boolean_$type, null), r = toNullable(Boolean_$type, null), s = toNullable(ST_SparklineType_$type, null)) {
            a.ad.p(b, null);
            let t = null;
            let u = null;
            if (c.hasValue) {
                u = "dateAxis";
                t = ST_OnOff.g(c.value);
                a.ad.h(u, t);
            }
            if (d.hasValue) {
                u = "displayEmptyCellsAs";
                t = XmlNamespaceDefinitionBase.p(ST_DispBlanksAs_$type, d.value);
                a.ad.h(u, t);
            }
            if (e.hasValue) {
                u = "displayHidden";
                t = ST_OnOff.g(e.value);
                a.ad.h(u, t);
            }
            if (f.hasValue) {
                u = "displayXAxis";
                t = ST_OnOff.g(f.value);
                a.ad.h(u, t);
            }
            if (g.hasValue) {
                u = "first";
                t = ST_OnOff.g(g.value);
                a.ad.h(u, t);
            }
            if (h.hasValue) {
                u = "high";
                t = ST_OnOff.g(h.value);
                a.ad.h(u, t);
            }
            if (i.hasValue) {
                u = "last";
                t = ST_OnOff.g(i.value);
                a.ad.h(u, t);
            }
            if (j.hasValue) {
                u = "lineWeight";
                t = j.value.toString();
                a.ad.h(u, t);
            }
            if (k.hasValue) {
                u = "low";
                t = ST_OnOff.g(k.value);
                a.ad.h(u, t);
            }
            if (l.hasValue) {
                u = "manualMax";
                t = l.value.toString();
                a.ad.h(u, t);
            }
            if (m.hasValue) {
                u = "manualMin";
                t = m.value.toString();
                a.ad.h(u, t);
            }
            if (n.hasValue) {
                u = "markers";
                t = ST_OnOff.g(n.value);
                a.ad.h(u, t);
            }
            if (o.hasValue) {
                u = "maxAxisType";
                t = XmlNamespaceDefinitionBase.p(ST_SparklineAxisMinMax_$type, o.value);
                a.ad.h(u, t);
            }
            if (p.hasValue) {
                u = "minAxisType";
                t = XmlNamespaceDefinitionBase.p(ST_SparklineAxisMinMax_$type, p.value);
                a.ad.h(u, t);
            }
            if (q.hasValue) {
                u = "negative";
                t = ST_OnOff.g(q.value);
                a.ad.h(u, t);
            }
            if (r.hasValue) {
                u = "rightToLeft";
                t = ST_OnOff.g(r.value);
                a.ad.h(u, t);
            }
            if (s.hasValue) {
                u = "type";
                t = XmlNamespaceDefinitionBase.p(ST_SparklineType_$type, s.value);
                a.ad.h(u, t);
            }
            ;
        }
    }
    CT_SparklineGroup.$t = markType(CT_SparklineGroup, 'CT_SparklineGroup');
    return CT_SparklineGroup;
})();
