/*
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, typeCast, markType, TypeRegistrar, NotSupportedException } from "igniteui-react-core";
import { ISortingAxis_$type } from "./ISortingAxis";
import { ScalerParams } from "./ScalerParams";
/**
 * @hidden
 */
export let CategoryTrendLineManagerFactory = /*@__PURE__*/ (() => {
    class CategoryTrendLineManagerFactory extends Base {
        static a(a, b, c, d, e) {
            if (b != null && typeCast(ISortingAxis_$type, b) !== null) {
                if (a != null) {
                    a.g$f();
                }
                if (!TypeRegistrar.isRegistered("SortingTrendLineManager")) {
                    throw new NotSupportedException(1, e.p);
                }
                let f = TypeRegistrar.create("SortingTrendLineManager", ((g) => {
                    let h = g;
                    let i = typeCast(ISortingAxis_$type, b);
                    if (i != null) {
                        g = Math.min(g, i.i$b.count - 1);
                        h = i.i$b._inner[g];
                    }
                    return i.i$d(h);
                }), ((g, h, i) => {
                    let j = d.getEffectiveViewport1(d.cg);
                    let k = new ScalerParams(0, i, h, b.ch, j);
                    return b.em(g, k);
                }));
                f.g$c(c, d);
                return f;
            }
            else if (a == null || a.g$a != 0) {
                if (a != null) {
                    a.g$f();
                }
                if (!TypeRegistrar.isRegistered("CategoryTrendLineManager")) {
                    throw new NotSupportedException(1, e.p);
                }
                let g = TypeRegistrar.create("CategoryTrendLineManager");
                g.g$c(c, d);
                return g;
            }
            return a;
        }
    }
    CategoryTrendLineManagerFactory.$t = /*@__PURE__*/ markType(CategoryTrendLineManagerFactory, 'CategoryTrendLineManagerFactory');
    return CategoryTrendLineManagerFactory;
})();
