UNPKG

igniteui-angular-gauges

Version:

Ignite UI Angular gauge components.

20,942 lines 899 kB
/*!
    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.
  */
  
(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('igniteui-angular-core'), require('tslib'), require('@angular/common')) :
    typeof define === 'function' && define.amd ? define(['exports', '@angular/core', 'igniteui-angular-core', 'tslib', '@angular/common'], factory) :
    (global = global || self, factory(global['igniteui-angular-gauges'] = {}, global.i0, global.igniteuiAngularCore, global.tslib, global.common));
}(this, (function (exports, i0, igniteuiAngularCore, tslib, common) { 'use strict';

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphBackingFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphBackingFrame, _super);
        function LinearGraphBackingFrame() {
            var _this = _super.call(this) || this;
            _this.e = null;
            _this.f = null;
            _this.c = 0;
            _this.b = 0;
            _this.a = 0;
            return _this;
        }
        LinearGraphBackingFrame.prototype.g = function (a, b, c) {
            var _this = this;
            var d = new igniteuiAngularCore.PathGeometry();
            var e = new igniteuiAngularCore.PathFigure();
            var f, g, h, i;
            if (c == 1) {
                f = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a * _this.a, y: 0 };
                    return $ret;
                })());
                g = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a * _this.b, y: 0 };
                    return $ret;
                })());
                h = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a * _this.b, y: b };
                    return $ret;
                })());
                i = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a * _this.a, y: b };
                    return $ret;
                })());
            }
            else {
                f = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: 0, y: a * (1 - _this.b) };
                    return $ret;
                })());
                g = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: b, y: a * (1 - _this.b) };
                    return $ret;
                })());
                h = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: b, y: a * (1 - _this.a) };
                    return $ret;
                })());
                i = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: 0, y: a * (1 - _this.a) };
                    return $ret;
                })());
            }
            e._startPoint = f.c;
            e._segments.add(g);
            e._segments.add(h);
            e._segments.add(i);
            e._isClosed = true;
            d.c.add(e);
            return d;
        };
        LinearGraphBackingFrame.prototype.d = function (a, b, c) {
            this.c = b.c + (c.c - b.c) * a;
            this.e = igniteuiAngularCore.BrushUtil.n(b.e, a, c.e, 0);
            this.f = igniteuiAngularCore.BrushUtil.n(b.f, a, c.f, 0);
            this.b = b.b + (c.b - b.b) * a;
            this.a = b.a + (c.a - b.a) * a;
        };
        LinearGraphBackingFrame.$t = igniteuiAngularCore.markType(LinearGraphBackingFrame, 'LinearGraphBackingFrame');
        return LinearGraphBackingFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphRectFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphRectFrame, _super);
        function LinearGraphRectFrame() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.e = 0;
            _this.f = 0;
            _this.b = 0;
            _this.c = 0;
            _this.g = 0;
            _this.d = 0;
            _this.i = null;
            _this.j = null;
            _this.h = 0;
            return _this;
        }
        LinearGraphRectFrame.prototype.k = function (a, b, c, d) {
            var _this = this;
            var e = new igniteuiAngularCore.PathGeometry();
            var f = new igniteuiAngularCore.PathFigure();
            var g, h, i, j;
            if (d == 1) {
                g = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a.x + b * _this.b, y: c - _this.d };
                    return $ret;
                })());
                h = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a.x + b * _this.c, y: c - _this.d };
                    return $ret;
                })());
                i = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a.x + b * _this.f, y: c - _this.g };
                    return $ret;
                })());
                j = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: a.x + b * _this.e, y: c - _this.g };
                    return $ret;
                })());
            }
            else {
                g = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: _this.g, y: b * (1 - _this.f) };
                    return $ret;
                })());
                h = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: _this.d, y: b * (1 - _this.c) };
                    return $ret;
                })());
                i = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: _this.d, y: b * (1 - _this.b) };
                    return $ret;
                })());
                j = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: _this.g, y: b * (1 - _this.e) };
                    return $ret;
                })());
            }
            f._startPoint = g.c;
            f._segments.add(h);
            f._segments.add(i);
            f._segments.add(j);
            f._isClosed = true;
            e.c.add(f);
            return e;
        };
        LinearGraphRectFrame.a = function (a, b, c, d) {
            var e = new LinearGraphRectFrame();
            e.i = igniteuiAngularCore.BrushUtil.n(c.i, a, d.i, 0);
            e.j = igniteuiAngularCore.BrushUtil.n(c.j, a, d.j, 0);
            e.h = b * c.h + a * d.h;
            e.e = b * c.e + a * d.e;
            e.f = b * c.f + a * d.f;
            e.g = b * c.g + a * d.g;
            e.d = b * c.d + a * d.d;
            e.b = b * c.b + a * d.b;
            e.c = b * c.c + a * d.c;
            return e;
        };
        LinearGraphRectFrame.$t = igniteuiAngularCore.markType(LinearGraphRectFrame, 'LinearGraphRectFrame');
        return LinearGraphRectFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphFrame, _super);
        function LinearGraphFrame() {
            var _this = _super.call(this) || this;
            _this.a = null;
            _this.b = null;
            _this.a = new LinearGraphBackingFrame();
            _this.b = new LinearGraphRectFrame();
            return _this;
        }
        LinearGraphFrame.prototype.d = function (a, b, c) {
            this.b = LinearGraphRectFrame.a(a, 1 - a, b.b, c.b);
            this.c.y(a, b.c, c.c);
            this.a.d(a, b.a, c.a);
        };
        LinearGraphFrame.$t = igniteuiAngularCore.markType(LinearGraphFrame, 'LinearGraphFrame');
        return LinearGraphFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var MorphSegment = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(MorphSegment, _super);
        function MorphSegment() {
            var _this = _super.call(this) || this;
            _this.f = null;
            _this.g = null;
            _this.b = false;
            _this.h = 0;
            _this.e = false;
            _this.a = false;
            _this.d = false;
            _this.c = false;
            _this.f = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
            _this.g = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
            return _this;
        }
        MorphSegment.prototype.i = function (a) {
            this.g.clear();
            var b = 20;
            if (this.b) {
                var c = void 0;
                var d = void 0;
                var e = void 0;
                if (this.f.count == 0) {
                    d = { $type: igniteuiAngularCore.Point_$type, x: 0, y: 0 };
                    e = { $type: igniteuiAngularCore.Point_$type, x: 0, y: 0 };
                }
                else {
                    d = this.f._inner[0];
                    e = this.f._inner[1];
                }
                var f = igniteuiAngularCore.GeometryUtil.s(d, e, this.h, !this.c, this.d);
                var g = igniteuiAngularCore.GeometryUtil.g(f, d);
                var h = igniteuiAngularCore.GeometryUtil.g(f, e);
                while (this.c && h < g) {
                    h += Math.PI * 2;
                }
                while (!this.c && h > g) {
                    h -= Math.PI * 2;
                }
                var i = 0;
                for (var j = 0; j < b; j++) {
                    c = j / b;
                    if (this.c) {
                        i = g + (h - g) * c;
                    }
                    else {
                        i = g - (g - h) * c;
                    }
                    this.g.add({ $type: igniteuiAngularCore.Point_$type, x: f.x + Math.cos(i) * this.h, y: f.y + Math.sin(i) * this.h });
                }
            }
            else {
                var k = void 0;
                var l = void 0;
                var m = void 0;
                if (this.f.count == 0) {
                    l = { $type: igniteuiAngularCore.Point_$type, x: 0, y: 0 };
                    m = { $type: igniteuiAngularCore.Point_$type, x: 0, y: 0 };
                }
                else {
                    l = this.f._inner[0];
                    m = this.f._inner[1];
                }
                var n = l.x;
                var o = l.y;
                var p = m.x;
                var q = m.y;
                for (var r = 0; r < b; r++) {
                    k = r / b;
                    this.g.add({ $type: igniteuiAngularCore.Point_$type, x: n + (p - n) * k, y: o + (q - o) * k });
                }
            }
            this.a = true;
        };
        MorphSegment.prototype.l = function (a, b, c, d, e) {
            var f = this;
            var g = null;
            var h = f.f;
            var i = h.count;
            if (i == 0) {
                return a;
            }
            if (b._segments.count == 0) {
                var j = h._inner[0];
                b._startPoint = { $type: igniteuiAngularCore.Point_$type, x: d + c * j.x, y: e + c * j.y };
            }
            if (f.b) {
                if (i > 1) {
                    var k = new igniteuiAngularCore.ArcSegment();
                    g = k;
                    var l = h._inner[1];
                    k.e = { $type: igniteuiAngularCore.Point_$type, x: d + c * l.x, y: e + c * l.y };
                    k.b = f.d;
                    k.d = f.c ? 1 : 0;
                    k.f = new igniteuiAngularCore.Size(1, f.h * c, f.h * c);
                    a = k.e;
                }
            }
            else {
                var m = new igniteuiAngularCore.PolyLineSegment();
                g = m;
                if (i > 1) {
                    var n = void 0;
                    var o = m._points;
                    for (var p = 1; p < i; p++) {
                        n = h._inner[p];
                        o.add({ $type: igniteuiAngularCore.Point_$type, x: d + c * n.x, y: e + c * n.y });
                    }
                    a = m._points._inner[m._points.count - 1];
                }
            }
            b._segments.add(g);
            return a;
        };
        MorphSegment.prototype.j = function (a, b, c) {
            var d = this;
            var e = d;
            var f = b.f;
            var g = false;
            var h = c.f;
            var i = false;
            if (f.count == 0 && h.count == 0) {
                return;
            }
            e.b = false;
            e.e = false;
            e.a = false;
            e.d = false;
            e.c = false;
            if (b.e) {
                g = true;
            }
            if (c.e) {
                i = true;
            }
            if (b.b != c.b || b.e || c.e || b.d != c.d || b.c != c.c) {
                g = true;
                i = true;
                e.e = true;
            }
            if (g && !b.e) {
                if (!b.a) {
                    b.i(c.h);
                }
                f = b.g;
            }
            if (i && !c.e) {
                if (!c.a) {
                    c.i(b.h);
                }
                h = c.g;
            }
            if (b.e) {
                f = b.g;
            }
            if (c.e) {
                h = c.g;
            }
            e.g.clear();
            if (b.b && c.b) {
                e.b = true;
            }
            igniteuiAngularCore.InterpolationUtil.d(e.f, a, f, h);
            if (e.e) {
                var j = void 0;
                var k = e.f.count;
                for (var l = 0; l < k; l++) {
                    j = e.f._inner[l];
                    e.g.add({ $type: igniteuiAngularCore.Point_$type, x: j.x, y: j.y });
                }
                e.a = true;
            }
            if (b.d == c.d) {
                e.d = c.d;
            }
            if (b.c == c.c) {
                e.c = c.c;
            }
            if (e.b) {
                e.h = b.h + (c.h - b.h) * a;
            }
        };
        MorphSegment.prototype.k = function () {
            this.f.clear();
            this.g.clear();
            this.e = false;
            this.a = false;
            this.b = false;
        };
        MorphSegment.$t = igniteuiAngularCore.markType(MorphSegment, 'MorphSegment');
        return MorphSegment;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphNeedleFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphNeedleFrame, _super);
        function LinearGraphNeedleFrame() {
            var _this = _super.call(this) || this;
            _this.n = 0;
            _this.m = 0;
            _this.q = 0;
            _this.p = 0;
            _this.l = 0;
            _this.r = null;
            _this.s = null;
            _this.o = 0;
            _this.f = null;
            _this.g = null;
            _this.d = null;
            _this.j = null;
            _this.i = null;
            _this.k = null;
            _this.e = null;
            _this.h = null;
            _this.b = null;
            _this.c = null;
            _this.f = new MorphSegment();
            _this.g = new MorphSegment();
            _this.d = new MorphSegment();
            _this.j = new MorphSegment();
            _this.i = new MorphSegment();
            _this.k = new MorphSegment();
            _this.e = new MorphSegment();
            _this.h = new MorphSegment();
            _this.b = new MorphSegment();
            _this.c = new MorphSegment();
            return _this;
        }
        LinearGraphNeedleFrame.a = function (a, b, c, d) {
            var e = new LinearGraphNeedleFrame();
            e.n = c.n + (d.n - c.n) * a;
            e.m = c.m + (d.m - c.m) * a;
            e.q = c.q + (d.q - c.q) * a;
            e.l = c.l + (d.l - c.l) * a;
            e.p = c.p + (d.p - c.p) * a;
            e.r = igniteuiAngularCore.BrushUtil.n(c.r, a, d.r, 0);
            e.s = igniteuiAngularCore.BrushUtil.n(c.s, a, d.s, 0);
            e.o = c.o + (d.o - c.o) * a;
            e.f.j(a, c.f, d.f);
            e.g.j(a, c.g, d.g);
            e.d.j(a, c.d, d.d);
            e.j.j(a, c.j, d.j);
            e.i.j(a, c.i, d.i);
            e.k.j(a, c.k, d.k);
            e.e.j(a, c.e, d.e);
            e.h.j(a, c.h, d.h);
            e.b.j(a, c.b, d.b);
            e.c.j(a, c.c, d.c);
            return e;
        };
        LinearGraphNeedleFrame.prototype.t = function (a, b, c) {
            var d = new igniteuiAngularCore.PathGeometry();
            var e = new igniteuiAngularCore.PathFigure();
            var f = { $type: igniteuiAngularCore.Point_$type, x: NaN, y: NaN };
            f = this.i.l(f, e, a, b, c);
            f = this.j.l(f, e, a, b, c);
            f = this.d.l(f, e, a, b, c);
            f = this.g.l(f, e, a, b, c);
            f = this.f.l(f, e, a, b, c);
            f = this.h.l(f, e, a, b, c);
            f = this.e.l(f, e, a, b, c);
            e._isClosed = true;
            d.c.add(e);
            var g = new igniteuiAngularCore.PathFigure();
            if (this.b.f.count > 0 || this.c.f.count > 0) {
                f = this.b.l(f, g, a, b, c);
                f = this.c.l(f, g, a, b, c);
                g._isClosed = true;
                d.c.add(g);
            }
            return d;
        };
        LinearGraphNeedleFrame.$t = igniteuiAngularCore.markType(LinearGraphNeedleFrame, 'LinearGraphNeedleFrame');
        return LinearGraphNeedleFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphScaleFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphScaleFrame, _super);
        function LinearGraphScaleFrame() {
            var _this = _super.call(this) || this;
            _this.m = null;
            _this.u = 0;
            _this.r = 0;
            _this.s = 0;
            _this.t = 0;
            _this.l = null;
            _this.j = null;
            _this.w = 0;
            _this.v = 0;
            _this.ad = null;
            _this.x = 0;
            _this.i = null;
            _this.p = 0;
            _this.o = 0;
            _this.ac = null;
            _this.q = 0;
            _this.e = null;
            _this.d = null;
            _this.f = null;
            _this.c = null;
            _this.g = null;
            _this.h = null;
            _this.n = 0;
            _this.ab = null;
            _this.m = new igniteuiAngularCore.List$1(LinearGraphRectFrame.$, 0);
            _this.j = new Array(0);
            _this.i = new Array(0);
            _this.e = new Array(0);
            _this.d = new Array(0);
            _this.f = new Array(0);
            _this.c = new Array(0);
            _this.g = new Array(0);
            _this.h = new Array(0);
            _this.l = new LinearGraphRectFrame();
            return _this;
        }
        LinearGraphScaleFrame.prototype.ae = function (a, b, c, d) {
            var _this = this;
            var e = new igniteuiAngularCore.PathGeometry();
            var f = new igniteuiAngularCore.PathFigure();
            var g = a.x;
            var h = a.y;
            var i, j, k, l;
            if (d == 1) {
                i = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g + b * _this.s, y: h };
                    return $ret;
                })());
                j = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g + b * _this.t, y: h };
                    return $ret;
                })());
                k = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g + b * _this.t, y: h + c };
                    return $ret;
                })());
                l = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g + b * _this.s, y: h + c };
                    return $ret;
                })());
            }
            else {
                i = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g, y: b * (1 - _this.t) };
                    return $ret;
                })());
                j = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g + c, y: b * (1 - _this.t) };
                    return $ret;
                })());
                k = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g + c, y: b * (1 - _this.s) };
                    return $ret;
                })());
                l = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: g, y: b * (1 - _this.s) };
                    return $ret;
                })());
            }
            f._startPoint = i.c;
            f._segments.add(j);
            f._segments.add(k);
            f._segments.add(l);
            f._isClosed = true;
            e.c.add(f);
            return e;
        };
        LinearGraphScaleFrame.prototype.y = function (a, b, c) {
            this.ad = igniteuiAngularCore.BrushUtil.n(b.ad, a, c.ad, 0);
            this.ac = igniteuiAngularCore.BrushUtil.n(b.ac, a, c.ac, 0);
            if (b.ab == null && c.ab == null) {
                this.ab = null;
            }
            else {
                this.ab = igniteuiAngularCore.BrushUtil.n(b.ab, a, c.ab, 0);
            }
            this.u = b.u + (c.u - b.u) * a;
            this.r = b.r + (c.r - b.r) * a;
            this.s = b.s + (c.s - b.s) * a;
            this.t = b.t + (c.t - b.t) * a;
            this.n = b.n + (c.n - b.n) * a;
            this.w = b.w + (c.w - b.w) * a;
            this.v = b.v + (c.v - b.v) * a;
            this.p = b.p + (c.p - b.p) * a;
            this.o = b.o + (c.o - b.o) * a;
            this.x = b.x + (c.x - b.x) * a;
            this.q = b.q + (c.q - b.q) * a;
            this.j = this.a(a, this.j, b.j, c.j);
            this.i = this.a(a, this.i, b.i, c.i);
            this.e = this.a(a, this.e, b.e, c.e);
            this.f = this.a(a, this.f, b.f, c.f);
            this.c = this.a(a, this.c, b.c, c.c);
            this.g = this.a(a, this.g, b.g, c.g);
            this.h = this.a(a, this.h, b.h, c.h);
            this.d = this.b(a, this.d, b.d, c.d);
            this.aa(a, this.m, b.m, c.m);
            this.l = this.k(a, b.l, c.l);
        };
        LinearGraphScaleFrame.prototype.a = function (a, b, c, d) {
            var e = Math.max(c.length, d.length);
            var f = Math.min(c.length, d.length);
            if (b.length != e) {
                b = new Array(e);
            }
            var g = 0;
            if (c.length > 0) {
                g = c[c.length - 1];
            }
            var h = 0;
            if (d.length > 0) {
                h = d[d.length - 1];
            }
            var i = c.length > d.length;
            var j = 0;
            for (j = 0; j < f; j++) {
                b[j] = c[j] + (d[j] - c[j]) * a;
            }
            var k;
            var l;
            for (j = f; j < e; j++) {
                if (i) {
                    k = c[j];
                    l = h;
                }
                else {
                    k = g;
                    l = d[j];
                }
                b[j] = k + (l - k) * a;
            }
            return b;
        };
        LinearGraphScaleFrame.prototype.b = function (a, b, c, d) {
            var e = Math.max(c.length, d.length);
            var f = Math.min(c.length, d.length);
            if (b.length != e) {
                b = new Array(e);
            }
            var g = null;
            if (c.length > 0) {
                g = c[c.length - 1];
            }
            var h = null;
            if (d.length > 0) {
                h = d[d.length - 1];
            }
            var i = c.length > d.length;
            var j = 0;
            for (j = 0; j < f; j++) {
                b[j] = d[j];
            }
            var k;
            var l;
            for (j = f; j < e; j++) {
                if (i) {
                    k = c[j];
                    l = h;
                }
                else {
                    k = g;
                    l = d[j];
                }
                if (l != null) {
                    b[j] = l;
                }
                else {
                    b[j] = k;
                }
            }
            return b;
        };
        LinearGraphScaleFrame.prototype.aa = function (a, b, c, d) {
            igniteuiAngularCore.InterpolationUtil.e(LinearGraphRectFrame.$, b, a, c, d, function () { return new LinearGraphRectFrame(); }, LinearGraphRectFrame.a);
        };
        LinearGraphScaleFrame.prototype.k = function (a, b, c) {
            var d = 1 - a;
            return LinearGraphRectFrame.a(a, d, b, c);
        };
        LinearGraphScaleFrame.prototype.z = function (a, b, c, d) {
            igniteuiAngularCore.InterpolationUtil.e(LinearGraphNeedleFrame.$, b, a, c, d, function () { return new LinearGraphNeedleFrame(); }, LinearGraphNeedleFrame.a);
        };
        LinearGraphScaleFrame.$t = igniteuiAngularCore.markType(LinearGraphScaleFrame, 'LinearGraphScaleFrame');
        return LinearGraphScaleFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var BulletGraphScaleFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(BulletGraphScaleFrame, _super);
        function BulletGraphScaleFrame() {
            var _this = _super.call(this) || this;
            _this.ag = null;
            _this.af = null;
            _this.ag = new LinearGraphRectFrame();
            _this.af = new LinearGraphRectFrame();
            return _this;
        }
        BulletGraphScaleFrame.prototype.y = function (a, b, c) {
            _super.prototype.y.call(this, a, b, c);
            this.ag = LinearGraphRectFrame.a(a, 1 - a, b.ag, c.ag);
            this.af = LinearGraphRectFrame.a(a, 1 - a, b.af, c.af);
        };
        BulletGraphScaleFrame.$t = igniteuiAngularCore.markType(BulletGraphScaleFrame, 'BulletGraphScaleFrame', LinearGraphScaleFrame.$);
        return BulletGraphScaleFrame;
    }(LinearGraphScaleFrame));

    /*
    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.
    */
    /**
     * @hidden
     */
    var BulletGraphFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(BulletGraphFrame, _super);
        function BulletGraphFrame() {
            var _this = _super.call(this) || this;
            _this._c = null;
            _this.c = new BulletGraphScaleFrame();
            return _this;
        }
        BulletGraphFrame.prototype.get_c = function () {
            return this._c;
        };
        BulletGraphFrame.prototype.set_c = function (a) {
            this._c = a;
        };
        Object.defineProperty(BulletGraphFrame.prototype, "c", {
            get: function () {
                return this.get_c();
            },
            set: function (a) {
                this.set_c(a);
            },
            enumerable: false,
            configurable: true
        });
        BulletGraphFrame.$t = igniteuiAngularCore.markType(BulletGraphFrame, 'BulletGraphFrame', LinearGraphFrame.$);
        return BulletGraphFrame;
    }(LinearGraphFrame));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphScaler = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphScaler, _super);
        function LinearGraphScaler(a, b, c, d, e) {
            var _this = _super.call(this) || this;
            _this.f = 0;
            _this.e = 0;
            _this.d = 0;
            _this.c = 0;
            _this.a = false;
            _this.g = 0;
            _this.b = 0;
            _this.f = c;
            _this.e = d;
            _this.a = e;
            _this.d = a;
            _this.c = b;
            _this.g = c;
            _this.b = d;
            return _this;
        }
        Object.defineProperty(LinearGraphScaler.prototype, "j", {
            get: function () {
                return this.g;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphScaler.prototype, "h", {
            get: function () {
                return this.b;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphScaler.prototype.i = function (a) {
            var b = (a - this.d) / (this.c - this.d);
            if (this.a) {
                b = 1 - b;
            }
            var c = this.g + (this.b - this.g) * b;
            c = Math.round(c * 100) / 100;
            return c;
        };
        LinearGraphScaler.prototype.k = function (a) {
            var b = (a - this.g) / (this.b - this.g);
            if (this.a) {
                b = 1 - b;
            }
            var c = this.d + (this.c - this.d) * b;
            return c;
        };
        LinearGraphScaler.$t = igniteuiAngularCore.markType(LinearGraphScaler, 'LinearGraphScaler');
        return LinearGraphScaler;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * Describes the orientation of a linear scale.
     */
    var LinearScaleOrientation = /*@__PURE__*/ (function (LinearScaleOrientation) {
        /**
         * The scale has a horizontal orientation.
         */
        LinearScaleOrientation[LinearScaleOrientation["Horizontal"] = 0] = "Horizontal";
        /**
         * The scale has a vertical orientation.
         */
        LinearScaleOrientation[LinearScaleOrientation["Vertical"] = 1] = "Vertical";
        return LinearScaleOrientation;
    })({});
    /**
     * @hidden
     */
    var LinearScaleOrientation_$type = igniteuiAngularCore.markEnum('LinearScaleOrientation', 'Horizontal,0|Vertical,1');

    /*
    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.
    */
    /**
     * @hidden
     */
    var XamLinearGraphRange = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamLinearGraphRange, _super);
        function XamLinearGraphRange() {
            var _this = _super.call(this) || this;
            _this.propertyChanged = null;
            return _this;
        }
        XamLinearGraphRange.prototype.ac = function (a, b, c) {
        };
        XamLinearGraphRange.prototype.ab = function (a, b, c) {
            this.ac(a, b, c);
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        XamLinearGraphRange.$t = igniteuiAngularCore.markType(XamLinearGraphRange, 'XamLinearGraphRange', igniteuiAngularCore.DependencyObject.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        XamLinearGraphRange.$$p = igniteuiAngularCore.markDep(igniteuiAngularCore.DependencyProperty, igniteuiAngularCore.PropertyMetadata, XamLinearGraphRange, 'ab', ['Brush:an:ad', [igniteuiAngularCore.Brush.$, null], 'EndValue:j:ae', [1, NaN], 'InnerEndExtent:k:af', [1, NaN], 'InnerStartExtent:l:ag', [1, NaN], 'Name:u:ah', [2, null], 'OuterEndExtent:m:ai', [1, NaN], 'OuterStartExtent:n:aj', [1, NaN], 'Outline:ao:ak', [igniteuiAngularCore.Brush.$, null], 'StartValue:o:al', [1, NaN], 'StrokeThickness:p:am', [1, 1]]);
        return XamLinearGraphRange;
    }(igniteuiAngularCore.DependencyObject));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphRangeCollection = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphRangeCollection, _super);
        function LinearGraphRangeCollection() {
            return _super.call(this, XamLinearGraphRange.$, 0) || this;
        }
        LinearGraphRangeCollection.$t = igniteuiAngularCore.markType(LinearGraphRangeCollection, 'LinearGraphRangeCollection', igniteuiAngularCore.ObservableCollection$1.$.specialize(XamLinearGraphRange.$));
        return LinearGraphRangeCollection;
    }(igniteuiAngularCore.ObservableCollection$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var FormatLinearGraphLabelEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(FormatLinearGraphLabelEventArgs, _super);
        function FormatLinearGraphLabelEventArgs() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.actualMinimumValue = 0;
            _this.actualMaximumValue = 0;
            _this.value = 0;
            _this.label = null;
            return _this;
        }
        FormatLinearGraphLabelEventArgs.$t = igniteuiAngularCore.markType(FormatLinearGraphLabelEventArgs, 'FormatLinearGraphLabelEventArgs', igniteuiAngularCore.EventArgs.$);
        return FormatLinearGraphLabelEventArgs;
    }(igniteuiAngularCore.EventArgs));

    /*
    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.
    */
    /**
     * @hidden
     */
    var AlignLinearGraphLabelEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(AlignLinearGraphLabelEventArgs, _super);
        function AlignLinearGraphLabelEventArgs() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.width = 0;
            _this.height = 0;
            _this.offsetX = 0;
            _this.offsetY = 0;
            return _this;
        }
        AlignLinearGraphLabelEventArgs.$t = igniteuiAngularCore.markType(AlignLinearGraphLabelEventArgs, 'AlignLinearGraphLabelEventArgs', FormatLinearGraphLabelEventArgs.$);
        return AlignLinearGraphLabelEventArgs;
    }(FormatLinearGraphLabelEventArgs));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphVisualData, _super);
        function LinearGraphVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._scalePath = null;
            _this._backingPath = null;
            _this._underlayPath = null;
            _this._overlayPath = null;
            _this._scale = null;
            _this._scaleLabels = null;
            _this._scaleTickmarks = null;
            _this._ranges = null;
            _this._toolTip = null;
            _this._name = null;
            _this._viewport = null;
            return _this;
        }
        Object.defineProperty(LinearGraphVisualData.prototype, "scalePath", {
            get: function () {
                return this._scalePath;
            },
            set: function (a) {
                this._scalePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "backingPath", {
            get: function () {
                return this._backingPath;
            },
            set: function (a) {
                this._backingPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "underlayPath", {
            get: function () {
                return this._underlayPath;
            },
            set: function (a) {
                this._underlayPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "overlayPath", {
            get: function () {
                return this._overlayPath;
            },
            set: function (a) {
                this._overlayPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "scale", {
            get: function () {
                return this._scale;
            },
            set: function (a) {
                this._scale = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "scaleLabels", {
            get: function () {
                return this._scaleLabels;
            },
            set: function (a) {
                this._scaleLabels = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "scaleTickmarks", {
            get: function () {
                return this._scaleTickmarks;
            },
            set: function (a) {
                this._scaleTickmarks = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "ranges", {
            get: function () {
                return this._ranges;
            },
            set: function (a) {
                this._ranges = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "toolTip", {
            get: function () {
                return this._toolTip;
            },
            set: function (a) {
                this._toolTip = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphVisualData.prototype, "name", {
            get: function () {
                return this._name;
            },
            set: function (a) {
                this._name = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphVisualData.prototype.scaleByViewport = function () {
            var e_1, _a, e_2, _b, e_3, _c;
            if (this.scalePath != null) {
                this.scalePath.scaleByViewport(this.viewport);
            }
            if (this.backingPath != null) {
                this.backingPath.scaleByViewport(this.viewport);
            }
            if (this.underlayPath != null) {
                this.underlayPath.scaleByViewport(this.viewport);
            }
            if (this.overlayPath != null) {
                this.overlayPath.scaleByViewport(this.viewport);
            }
            if (this.scaleLabels != null) {
                try {
                    for (var _d = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleLabels)), _e = _d.next(); !_e.done; _e = _d.next()) {
                        var a = _e.value;
                        a.scaleByViewport(this.viewport);
                    }
                }
                catch (e_1_1) {
                    e_1 = { error: e_1_1 };
                }
                finally {
                    try {
                        if (_e && !_e.done && (_a = _d.return))
                            _a.call(_d);
                    }
                    finally {
                        if (e_1)
                            throw e_1.error;
                    }
                }
            }
            if (this.scaleTickmarks != null) {
                try {
                    for (var _f = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleTickmarks)), _g = _f.next(); !_g.done; _g = _f.next()) {
                        var b = _g.value;
                        if (b.tickPath != null) {
                            b.tickPath.scaleByViewport(this.viewport);
                        }
                    }
                }
                catch (e_2_1) {
                    e_2 = { error: e_2_1 };
                }
                finally {
                    try {
                        if (_g && !_g.done && (_b = _f.return))
                            _b.call(_f);
                    }
                    finally {
                        if (e_2)
                            throw e_2.error;
                    }
                }
            }
            if (this.ranges != null) {
                try {
                    for (var _h = tslib.__values(igniteuiAngularCore.fromEnum(this.ranges)), _j = _h.next(); !_j.done; _j = _h.next()) {
                        var c = _j.value;
                        if (c.rangePath != null) {
                            c.rangePath.scaleByViewport(this.viewport);
                        }
                    }
                }
                catch (e_3_1) {
                    e_3 = { error: e_3_1 };
                }
                finally {
                    try {
                        if (_j && !_j.done && (_c = _h.return))
                            _c.call(_h);
                    }
                    finally {
                        if (e_3)
                            throw e_3.error;
                    }
                }
            }
        };
        LinearGraphVisualData.prototype.serialize = function () {
            var e_4, _a, e_5, _b, e_6, _c;
            var a = new igniteuiAngularCore.StringBuilder(0);
            var b = true;
            a.u("{");
            if (this.scalePath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("scalePath: ");
                a.u(this.scalePath.serialize());
            }
            if (this.backingPath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("backingPath: ");
                a.u(this.backingPath.serialize());
            }
            if (this.underlayPath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("underlayPath: ");
                a.u(this.underlayPath.serialize());
            }
            if (this.overlayPath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("overlayPath: ");
                a.u(this.overlayPath.serialize());
            }
            if (this.scaleLabels != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var c = true;
                a.l("scaleLabels: [");
                try {
                    for (var _d = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleLabels)), _e = _d.next(); !_e.done; _e = _d.next()) {
                        var d = _e.value;
                        if (c) {
                            c = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(d.serialize());
                    }
                }
                catch (e_4_1) {
                    e_4 = { error: e_4_1 };
                }
                finally {
                    try {
                        if (_e && !_e.done && (_a = _d.return))
                            _a.call(_d);
                    }
                    finally {
                        if (e_4)
                            throw e_4.error;
                    }
                }
                a.u("]");
            }
            if (this.scaleTickmarks != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var e = true;
                a.l("scaleTickmarks: [");
                try {
                    for (var _f = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleTickmarks)), _g = _f.next(); !_g.done; _g = _f.next()) {
                        var f = _g.value;
                        if (e) {
                            e = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(f.serialize());
                    }
                }
                catch (e_5_1) {
                    e_5 = { error: e_5_1 };
                }
                finally {
                    try {
                        if (_g && !_g.done && (_b = _f.return))
                            _b.call(_f);
                    }
                    finally {
                        if (e_5)
                            throw e_5.error;
                    }
                }
                a.u("]");
            }
            if (this.ranges != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var g = true;
                a.l("ranges: [");
                try {
                    for (var _h = tslib.__values(igniteuiAngularCore.fromEnum(this.ranges)), _j = _h.next(); !_j.done; _j = _h.next()) {
                        var h = _j.value;
                        if (g) {
                            g = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(h.serialize());
                    }
                }
                catch (e_6_1) {
                    e_6 = { error: e_6_1 };
                }
                finally {
                    try {
                        if (_j && !_j.done && (_c = _h.return))
                            _c.call(_h);
                    }
                    finally {
                        if (e_6)
                            throw e_6.error;
                    }
                }
                a.u("]");
            }
            if (this.name != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("name: '");
                a.l(this.name);
                a.u("'");
            }
            if (this.toolTip != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("toolTip: ");
                a.l(this.toolTip.serialize());
            }
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("viewport: {");
            a.l("left: " + this.viewport.left + ", top: " + this.viewport.top + ", width: " + this.viewport.width + ", height: " + this.viewport.height);
            a.u("}");
            a.l("}");
            return a.toString();
        };
        Object.defineProperty(LinearGraphVisualData.prototype, "viewport", {
            get: function () {
                return this._viewport;
            },
            set: function (a) {
                this._viewport = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphVisualData.$t = igniteuiAngularCore.markType(LinearGraphVisualData, 'LinearGraphVisualData');
        return LinearGraphVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var BulletGraphVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(BulletGraphVisualData, _super);
        function BulletGraphVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._targetValuePath = null;
            _this._valuePath = null;
            _this._highlightValuePath = null;
            _this._scaleBackgroundPath = null;
            _this._targetValue = null;
            _this._value = null;
            _this._highlightValue = null;
            return _this;
        }
        Object.defineProperty(BulletGraphVisualData.prototype, "targetValuePath", {
            get: function () {
                return this._targetValuePath;
            },
            set: function (a) {
                this._targetValuePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(BulletGraphVisualData.prototype, "valuePath", {
            get: function () {
                return this._valuePath;
            },
            set: function (a) {
                this._valuePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(BulletGraphVisualData.prototype, "highlightValuePath", {
            get: function () {
                return this._highlightValuePath;
            },
            set: function (a) {
                this._highlightValuePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(BulletGraphVisualData.prototype, "scaleBackgroundPath", {
            get: function () {
                return this._scaleBackgroundPath;
            },
            set: function (a) {
                this._scaleBackgroundPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(BulletGraphVisualData.prototype, "targetValue", {
            get: function () {
                return this._targetValue;
            },
            set: function (a) {
                this._targetValue = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(BulletGraphVisualData.prototype, "value", {
            get: function () {
                return this._value;
            },
            set: function (a) {
                this._value = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(BulletGraphVisualData.prototype, "highlightValue", {
            get: function () {
                return this._highlightValue;
            },
            set: function (a) {
                this._highlightValue = a;
            },
            enumerable: false,
            configurable: true
        });
        BulletGraphVisualData.prototype.scaleByViewport = function () {
            _super.prototype.scaleByViewport.call(this);
            if (this.targetValuePath != null) {
                this.targetValuePath.scaleByViewport(this.viewport);
            }
            if (this.valuePath != null) {
                this.valuePath.scaleByViewport(this.viewport);
            }
            if (this.highlightValuePath != null) {
                this.highlightValuePath.scaleByViewport(this.viewport);
            }
            if (this.scaleBackgroundPath != null) {
                this.scaleBackgroundPath.scaleByViewport(this.viewport);
            }
        };
        BulletGraphVisualData.prototype.serialize = function () {
            var a = _super.prototype.serialize.call(this);
            var b = new igniteuiAngularCore.StringBuilder(0);
            var c = a.length == 0;
            if (this.targetValuePath != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("targetValuePath: ");
                b.u(this.targetValuePath.serialize());
            }
            if (this.targetValue != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("targetValue: ");
                b.u(this.targetValue.serialize());
            }
            if (this.valuePath != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("valuePath: ");
                b.u(this.valuePath.serialize());
            }
            if (this.highlightValuePath != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("highlightValuePath: ");
                b.u(this.highlightValuePath.serialize());
            }
            if (this.value != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("value: ");
                b.u(this.value.serialize());
            }
            if (this.highlightValue != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("highlightValue: ");
                b.u(this.highlightValue.serialize());
            }
            if (this.scaleBackgroundPath != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("scaleBackgroundPath: ");
                b.u(this.scaleBackgroundPath.serialize());
            }
            if (c) {
                return a;
            }
            b.l("}");
            return a.substr(0, a.length - 1) + b.toString();
        };
        BulletGraphVisualData.$t = igniteuiAngularCore.markType(BulletGraphVisualData, 'BulletGraphVisualData', LinearGraphVisualData.$);
        return BulletGraphVisualData;
    }(LinearGraphVisualData));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ToolTipInfo = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ToolTipInfo, _super);
        function ToolTipInfo() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.c = null;
            _this.b = 0;
            _this.d = null;
            _this.a = null;
            return _this;
        }
        ToolTipInfo.$t = igniteuiAngularCore.markType(ToolTipInfo, 'ToolTipInfo');
        return ToolTipInfo;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphScaleLabelVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphScaleLabelVisualData, _super);
        function LinearGraphScaleLabelVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._labelValue = null;
            _this._labelSize = null;
            _this._labelPosition = null;
            _this._appearance = null;
            return _this;
        }
        Object.defineProperty(LinearGraphScaleLabelVisualData.prototype, "labelValue", {
            get: function () {
                return this._labelValue;
            },
            set: function (a) {
                this._labelValue = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphScaleLabelVisualData.prototype, "labelSize", {
            get: function () {
                return this._labelSize;
            },
            set: function (a) {
                this._labelSize = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphScaleLabelVisualData.prototype, "labelPosition", {
            get: function () {
                return this._labelPosition;
            },
            set: function (a) {
                this._labelPosition = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphScaleLabelVisualData.prototype, "appearance", {
            get: function () {
                return this._appearance;
            },
            set: function (a) {
                this._appearance = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphScaleLabelVisualData.prototype.scaleByViewport = function (a) {
            this.labelPosition = new igniteuiAngularCore.PointData((this.labelPosition.x - a.left) / a.width, (this.labelPosition.y - a.top) / a.height);
            this.labelSize = new igniteuiAngularCore.SizeData((this.labelSize.width) / a.width, (this.labelSize.height) / a.height);
        };
        LinearGraphScaleLabelVisualData.prototype.serialize = function () {
            var a = this.labelValue.toString();
            var b = "{ labelValue: '" + a;
            b += "', labelSize: { width: " + this.labelSize.width + ", height: " + this.labelSize.height;
            b += "}, labelPosition: { x: " + this.labelPosition.x + ", y: " + this.labelPosition.y;
            b += "}, appearance: " + this.appearance.serialize() + "}";
            return b;
        };
        LinearGraphScaleLabelVisualData.$t = igniteuiAngularCore.markType(LinearGraphScaleLabelVisualData, 'LinearGraphScaleLabelVisualData');
        return LinearGraphScaleLabelVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphScaleLabelVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphScaleLabelVisualDataList, _super);
        function LinearGraphScaleLabelVisualDataList() {
            return _super.call(this, LinearGraphScaleLabelVisualData.$, 0) || this;
        }
        LinearGraphScaleLabelVisualDataList.$t = igniteuiAngularCore.markType(LinearGraphScaleLabelVisualDataList, 'LinearGraphScaleLabelVisualDataList', igniteuiAngularCore.List$1.$.specialize(LinearGraphScaleLabelVisualData.$));
        return LinearGraphScaleLabelVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphScaleTickmarkVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphScaleTickmarkVisualData, _super);
        function LinearGraphScaleTickmarkVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._tickPath = null;
            return _this;
        }
        Object.defineProperty(LinearGraphScaleTickmarkVisualData.prototype, "tickPath", {
            get: function () {
                return this._tickPath;
            },
            set: function (a) {
                this._tickPath = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphScaleTickmarkVisualData.prototype.serialize = function () {
            return "{ tickPath: " + this.tickPath.serialize() + "}";
        };
        LinearGraphScaleTickmarkVisualData.$t = igniteuiAngularCore.markType(LinearGraphScaleTickmarkVisualData, 'LinearGraphScaleTickmarkVisualData');
        return LinearGraphScaleTickmarkVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphScaleTickmarkVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphScaleTickmarkVisualDataList, _super);
        function LinearGraphScaleTickmarkVisualDataList() {
            return _super.call(this, LinearGraphScaleTickmarkVisualData.$, 0) || this;
        }
        LinearGraphScaleTickmarkVisualDataList.$t = igniteuiAngularCore.markType(LinearGraphScaleTickmarkVisualDataList, 'LinearGraphScaleTickmarkVisualDataList', igniteuiAngularCore.List$1.$.specialize(LinearGraphScaleTickmarkVisualData.$));
        return LinearGraphScaleTickmarkVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ToolTipItemVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ToolTipItemVisualData, _super);
        function ToolTipItemVisualData() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        ToolTipItemVisualData.$t = igniteuiAngularCore.markType(ToolTipItemVisualData, 'ToolTipItemVisualData');
        return ToolTipItemVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphRangeVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphRangeVisualData, _super);
        function LinearGraphRangeVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._rangePath = null;
            return _this;
        }
        Object.defineProperty(LinearGraphRangeVisualData.prototype, "rangePath", {
            get: function () {
                return this._rangePath;
            },
            set: function (a) {
                this._rangePath = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphRangeVisualData.prototype.serialize = function () {
            return "{ rangePath: " + this.rangePath.serialize() + ", type: '" + this.type + "'}";
        };
        LinearGraphRangeVisualData.prototype.get_type = function () {
            return "range";
        };
        Object.defineProperty(LinearGraphRangeVisualData.prototype, "type", {
            get: function () {
                return this.get_type();
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphRangeVisualData.$t = igniteuiAngularCore.markType(LinearGraphRangeVisualData, 'LinearGraphRangeVisualData', ToolTipItemVisualData.$);
        return LinearGraphRangeVisualData;
    }(ToolTipItemVisualData));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphRangeVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphRangeVisualDataList, _super);
        function LinearGraphRangeVisualDataList() {
            return _super.call(this, LinearGraphRangeVisualData.$, 0) || this;
        }
        LinearGraphRangeVisualDataList.$t = igniteuiAngularCore.markType(LinearGraphRangeVisualDataList, 'LinearGraphRangeVisualDataList', igniteuiAngularCore.List$1.$.specialize(LinearGraphRangeVisualData.$));
        return LinearGraphRangeVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ValueVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ValueVisualData, _super);
        function ValueVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._value = 0;
            return _this;
        }
        Object.defineProperty(ValueVisualData.prototype, "value", {
            get: function () {
                return this._value;
            },
            set: function (a) {
                this._value = a;
            },
            enumerable: false,
            configurable: true
        });
        ValueVisualData.prototype.serialize = function () {
            return "{ value: " + this.value.toString() + ", type: '" + this.type + "'}";
        };
        ValueVisualData.prototype.get_type = function () {
            return "value";
        };
        Object.defineProperty(ValueVisualData.prototype, "type", {
            get: function () {
                return this.get_type();
            },
            enumerable: false,
            configurable: true
        });
        ValueVisualData.$t = igniteuiAngularCore.markType(ValueVisualData, 'ValueVisualData', ToolTipItemVisualData.$);
        return ValueVisualData;
    }(ToolTipItemVisualData));

    /*
    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.
    */
    /**
     * @hidden
     */
    var BulletGraphTargetValueVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(BulletGraphTargetValueVisualData, _super);
        function BulletGraphTargetValueVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._value = 0;
            return _this;
        }
        Object.defineProperty(BulletGraphTargetValueVisualData.prototype, "value", {
            get: function () {
                return this._value;
            },
            set: function (a) {
                this._value = a;
            },
            enumerable: false,
            configurable: true
        });
        BulletGraphTargetValueVisualData.prototype.serialize = function () {
            return "{ value: " + this.value.toString() + ", type: '" + this.type + "'}";
        };
        BulletGraphTargetValueVisualData.prototype.get_type = function () {
            return "targetValue";
        };
        Object.defineProperty(BulletGraphTargetValueVisualData.prototype, "type", {
            get: function () {
                return this.get_type();
            },
            enumerable: false,
            configurable: true
        });
        BulletGraphTargetValueVisualData.$t = igniteuiAngularCore.markType(BulletGraphTargetValueVisualData, 'BulletGraphTargetValueVisualData', ToolTipItemVisualData.$);
        return BulletGraphTargetValueVisualData;
    }(ToolTipItemVisualData));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphToolTipVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphToolTipVisualData, _super);
        function LinearGraphToolTipVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._item = null;
            _this._outline = null;
            _this._itemBrush = null;
            _this._thickness = 0;
            return _this;
        }
        Object.defineProperty(LinearGraphToolTipVisualData.prototype, "item", {
            get: function () {
                return this._item;
            },
            set: function (a) {
                this._item = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphToolTipVisualData.prototype, "outline", {
            get: function () {
                return this._outline;
            },
            set: function (a) {
                this._outline = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphToolTipVisualData.prototype, "itemBrush", {
            get: function () {
                return this._itemBrush;
            },
            set: function (a) {
                this._itemBrush = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphToolTipVisualData.prototype, "thickness", {
            get: function () {
                return this._thickness;
            },
            set: function (a) {
                this._thickness = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphToolTipVisualData.prototype.serialize = function () {
            var a = new igniteuiAngularCore.StringBuilder(0);
            a.l("{ item: ");
            if (this.item != null) {
                a.l(this.item.serialize());
            }
            a.l(", ");
            a.l("outline: ");
            a.l(this.outline.serialize());
            a.l(", ");
            a.l("itemBrush: ");
            a.l(this.itemBrush.serialize());
            a.l(", ");
            a.l("thickness: ");
            a.l(this.thickness.toString());
            a.l("}");
            return a.toString();
        };
        LinearGraphToolTipVisualData.$t = igniteuiAngularCore.markType(LinearGraphToolTipVisualData, 'LinearGraphToolTipVisualData');
        return LinearGraphToolTipVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphTooltipDataContext = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphTooltipDataContext, _super);
        function LinearGraphTooltipDataContext() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.propertyChanged = null;
            return _this;
        }
        Object.defineProperty(LinearGraphTooltipDataContext.prototype, "item", {
            get: function () {
                return this.c(LinearGraphTooltipDataContext.itemProperty);
            },
            set: function (a) {
                this.h(LinearGraphTooltipDataContext.itemProperty, a);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphTooltipDataContext.prototype, "itemName", {
            get: function () {
                return this.c(LinearGraphTooltipDataContext.itemNameProperty);
            },
            set: function (a) {
                this.h(LinearGraphTooltipDataContext.itemNameProperty, a);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphTooltipDataContext.prototype, "brush", {
            get: function () {
                return this.c(LinearGraphTooltipDataContext.itemBrushProperty);
            },
            set: function (a) {
                this.h(LinearGraphTooltipDataContext.itemBrushProperty, a);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphTooltipDataContext.prototype, "label", {
            get: function () {
                return this.c(LinearGraphTooltipDataContext.labelProperty);
            },
            set: function (a) {
                this.h(LinearGraphTooltipDataContext.labelProperty, a);
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphTooltipDataContext.prototype.p = function (a, b, c) {
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        LinearGraphTooltipDataContext.$t = igniteuiAngularCore.markType(LinearGraphTooltipDataContext, 'LinearGraphTooltipDataContext', igniteuiAngularCore.DependencyObject.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        LinearGraphTooltipDataContext.labelProperty = igniteuiAngularCore.DependencyProperty.i("Label", igniteuiAngularCore.String_$type, LinearGraphTooltipDataContext.$, new igniteuiAngularCore.PropertyMetadata(2, null, function (a, b) { return (igniteuiAngularCore.typeCast(LinearGraphTooltipDataContext.$, a)).p("Label", b.oldValue, b.newValue); }));
        LinearGraphTooltipDataContext.itemProperty = igniteuiAngularCore.DependencyProperty.i("Item", igniteuiAngularCore.Base.$, LinearGraphTooltipDataContext.$, new igniteuiAngularCore.PropertyMetadata(2, null, function (a, b) { return (igniteuiAngularCore.typeCast(LinearGraphTooltipDataContext.$, a)).p("Item", b.oldValue, b.newValue); }));
        LinearGraphTooltipDataContext.itemNameProperty = igniteuiAngularCore.DependencyProperty.i("ItemName", igniteuiAngularCore.Base.$, LinearGraphTooltipDataContext.$, new igniteuiAngularCore.PropertyMetadata(2, null, function (a, b) { return (igniteuiAngularCore.typeCast(LinearGraphTooltipDataContext.$, a)).p("ItemName", b.oldValue, b.newValue); }));
        LinearGraphTooltipDataContext.itemBrushProperty = igniteuiAngularCore.DependencyProperty.i("ItemBrush", igniteuiAngularCore.Brush.$, LinearGraphTooltipDataContext.$, new igniteuiAngularCore.PropertyMetadata(2, null, function (a, b) { return (igniteuiAngularCore.typeCast(LinearGraphTooltipDataContext.$, a)).p("ItemBrush", b.oldValue, b.newValue); }));
        LinearGraphTooltipDataContext.$$p = igniteuiAngularCore.markDep(igniteuiAngularCore.DependencyProperty, igniteuiAngularCore.PropertyMetadata, LinearGraphTooltipDataContext, 'p', ['Outline', [igniteuiAngularCore.Brush.$, null], 'Thickness', [1, 0]]);
        return LinearGraphTooltipDataContext;
    }(igniteuiAngularCore.DependencyObject));

    /*
    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.
    */
    /**
     * @hidden
     */
    var XamBulletGraph = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamBulletGraph, _super);
        function XamBulletGraph() {
            var _this = _super.call(this) || this;
            _this.propertyChanged = null;
            _this.aw = null;
            _this.bq = 0;
            _this.formatLabel = null;
            _this.alignLabel = null;
            _this.an = null;
            _this.am = null;
            _this.al = null;
            _this.ar = null;
            _this.av = null;
            _this.bn = 0;
            _this.bm = 100;
            _this.a1 = 0;
            _this.bl = 0.5;
            _this.ay = 1;
            _this.aj = null;
            _this.be = false;
            _this.a5 = null;
            _this.a3 = null;
            _this.a2 = null;
            _this.a6 = null;
            _this.a4 = null;
            _this._view = null;
            _this.ig = null;
            _this.ie = null;
            _this.id = null;
            _this.bp = NaN;
            _this.bo = 1;
            _this.bg = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.bj = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.bi = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.bh = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.a8 = false;
            _this.bp = NaN;
            _this.bo = 1;
            _this.av = new XamLinearGraphRange();
            var a = _this.av;
            a.propertyChanged = igniteuiAngularCore.delegateCombine(a.propertyChanged, igniteuiAngularCore.runOn(_this, _this.fv));
            _this.view = new XamBulletGraphView(_this);
            _this.view.a9();
            _this.ig = igniteuiAngularCore.Rect.empty;
            _this.ie = igniteuiAngularCore.Rect.empty;
            _this.id = igniteuiAngularCore.Rect.empty;
            _this.an = new BulletGraphFrame();
            _this.am = new BulletGraphFrame();
            _this.al = new BulletGraphFrame();
            _this.ranges = new LinearGraphRangeCollection();
            _this.a8 = true;
            _this.aw = new igniteuiAngularCore.DoubleAnimator(0, 1, _this.c8);
            var b = _this.aw;
            b.propertyChanged = igniteuiAngularCore.delegateCombine(b.propertyChanged, igniteuiAngularCore.runOn(_this, _this.fa));
            _this.ab = XamBulletGraph.$;
            _this.a4 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bj);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bk);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bl);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cs);
                return $ret;
            })());
            _this.a5 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bc);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bd);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.be);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cr);
                return $ret;
            })());
            _this.a3 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bc);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bd);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.be);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cr);
                return $ret;
            })());
            _this.a2 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.a1);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.a2);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.a3);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.b0);
                return $ret;
            })());
            _this.a6 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bt);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bu);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bv);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.b1);
                return $ret;
            })());
            return _this;
        }
        XamBulletGraph.prototype.fm = function (a) {
            this.ft(a);
        };
        XamBulletGraph.prototype.ft = function (a) {
            var b = this.propertyChanged;
            if (b != null) {
                b(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        XamBulletGraph.prototype.onDetachedFromUI = function () {
            this.view.a8();
        };
        XamBulletGraph.prototype.onAttachedToUI = function () {
            this.view.a4();
        };
        XamBulletGraph.prototype.fa = function (a, b) {
            this.c0 = this.aw.o;
        };
        Object.defineProperty(XamBulletGraph.prototype, "a7", {
            get: function () {
                return this.aw.f();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "c0", {
            get: function () {
                return this.bq;
            },
            set: function (a) {
                var b = this.bq;
                this.bq = a;
                this.fl("TransitionProgress", b, this.bq);
            },
            enumerable: false,
            configurable: true
        });
        XamBulletGraph.prototype.f6 = function () {
            this.bq = 0;
            this.aw.w();
            this.aw.v();
        };
        Object.defineProperty(XamBulletGraph.prototype, "bd", {
            get: function () {
                return this.c8 > 0;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "h5", {
            get: function () {
                return this.c(XamBulletGraph.g7);
            },
            set: function (a) {
                this.h(XamBulletGraph.g7, a);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "h6", {
            get: function () {
                return this.c(XamBulletGraph.g8);
            },
            set: function (a) {
                this.h(XamBulletGraph.g8, a);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "ci", {
            get: function () {
                return this.c(XamBulletGraph.g9);
            },
            set: function (a) {
                this.h(XamBulletGraph.g9, a);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "bt", {
            get: function () {
                return this.bn;
            },
            set: function (a) {
                this.bn = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "bs", {
            get: function () {
                return this.bm;
            },
            set: function (a) {
                this.bm = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "br", {
            get: function () {
                return this.bl;
            },
            set: function (a) {
                var b = this.bl;
                this.bl = a;
                if (b != this.bl) {
                    this.fl("ActualHighlightValueOpacity", b, a);
                }
            },
            enumerable: false,
            configurable: true
        });
        XamBulletGraph.prototype.f9 = function () {
            this.br = igniteuiAngularCore.isNaN_(this.b1) ? 0.5 : Math.max(0, Math.min(this.b1, 1));
        };
        Object.defineProperty(XamBulletGraph.prototype, "az", {
            get: function () {
                return this.ay;
            },
            set: function (a) {
                this.ay = a;
            },
            enumerable: false,
            configurable: true
        });
        XamBulletGraph.prototype.f8 = function () {
            if (this.a0 != 1) {
                if (igniteuiAngularCore.isNaN_(this.b0) || igniteuiAngularCore.isInfinity(this.b0)) {
                    this.az = 1;
                }
                else {
                    this.az = 2;
                }
            }
            else {
                this.az = 1;
            }
        };
        XamBulletGraph.prototype.ff = function () {
            this.a1 = 0;
            this.view.cm().an = null;
        };
        XamBulletGraph.prototype.bz = function (a) {
            var b = 0;
            var c = a.x;
            if (this.as == 1) {
                b = a.y;
                c = this.ij.height;
            }
            return this.ar.k(c - b);
        };
        XamBulletGraph.prototype.at = function () {
            var _this = this;
            var a = new BulletGraphVisualData();
            a.viewport = new igniteuiAngularCore.RectData(this.ij.left, this.ij.top, this.ij.width, this.ij.height);
            a.scaleLabels = new LinearGraphScaleLabelVisualDataList();
            a.scaleTickmarks = new LinearGraphScaleTickmarkVisualDataList();
            a.ranges = new LinearGraphRangeVisualDataList();
            a.value = ((function () {
                var $ret = new ValueVisualData();
                $ret.value = _this.c1;
                return $ret;
            })());
            a.highlightValue = ((function () {
                var $ret = new ValueVisualData();
                $ret.value = _this.b0;
                return $ret;
            })());
            a.targetValue = ((function () {
                var $ret = new BulletGraphTargetValueVisualData();
                $ret.value = _this.co;
                return $ret;
            })());
            this.view.aw(a);
            var b = this.view.l();
            if (b != null) {
                var c_1;
                switch (b.c) {
                    case "range":
                        c_1 = a.ranges._inner[b.b];
                        break;
                    case "value":
                        c_1 = a.value;
                        break;
                    default:
                        c_1 = a.targetValue;
                        break;
                }
                a.toolTip = ((function () {
                    var $ret = new LinearGraphToolTipVisualData();
                    $ret.item = c_1;
                    $ret.itemBrush = igniteuiAngularCore.AppearanceHelper.b(b.a.brush);
                    $ret.outline = igniteuiAngularCore.AppearanceHelper.b(b.a.outline);
                    $ret.thickness = b.a.thickness;
                    return $ret;
                })());
            }
            return a;
        };
        XamBulletGraph.prototype.dh = function () {
            var a = this.at();
            a.scaleByViewport();
            return a.serialize();
        };
        XamBulletGraph.prototype.destroy = function () {
            this.provideContainer(null);
        };
        XamBulletGraph.prototype.provideContainer = function (a) {
            this.view.a6(a);
        };
        XamBulletGraph.prototype.onMouseOver = function (a, b, c) {
            if (this.be) {
                this.f5(a, null);
            }
        };
        XamBulletGraph.prototype.onMouseLeave = function () {
            if (this.be) {
                this.f5({ $type: igniteuiAngularCore.Point_$type, x: -10000, y: -10000 }, null);
            }
        };
        XamBulletGraph.prototype.containerResized = function () {
            this.view.a7();
        };
        XamBulletGraph.prototype.f7 = function () {
            this.view.bs();
        };
        XamBulletGraph.prototype.fe = function () {
            this.view.flush();
        };
        XamBulletGraph.prototype.bk = function (a) {
            var b = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
            for (var c = 0; c < a.count; c++) {
                b.add({ $type: igniteuiAngularCore.Point_$type, x: a._inner[c].x, y: a._inner[c].y });
            }
            return b;
        };
        XamBulletGraph.prototype.f5 = function (a, b) {
            var c = new igniteuiAngularCore.PathVisualData(1, "targetValue", this.view.cp());
            var d = c.getPoints(new igniteuiAngularCore.GetPointsSettings());
            if (d.count > 0) {
                var e = igniteuiAngularCore.PolygonUtil.b(this.bk(d._inner[0]), a);
                if (e == true) {
                    this.view.br(a, b, -1, "targetvalue");
                    return;
                }
            }
            var f = new igniteuiAngularCore.PathVisualData(1, "value", this.view.cq());
            var g = f.getPoints(new igniteuiAngularCore.GetPointsSettings());
            if (g.count > 0) {
                var h = igniteuiAngularCore.PolygonUtil.b(this.bk(g._inner[0]), a);
                if (h == true) {
                    this.view.br(a, b, -1, "value");
                    return;
                }
            }
            for (var i = 0; i < this.bh.count; i++) {
                var j = new igniteuiAngularCore.PathVisualData(1, "range", this.bh._inner[i]);
                var k = j.getPoints(new igniteuiAngularCore.GetPointsSettings());
                if (k.count > 0) {
                    var l = igniteuiAngularCore.PolygonUtil.b(this.bk(k._inner[0]), a);
                    if (l == true) {
                        this.view.br(a, b, i, "range");
                        return;
                    }
                }
            }
            this.view.az();
        };
        XamBulletGraph.prototype.fy = function () {
            if (!this.a8) {
                return;
            }
            var a = this.am.c;
            if (this.as == 0) {
                var b = 0;
                for (var c = 0; c < a.c.length; c++) {
                    b = Math.max(b, a.c[c]);
                }
                var d = this.ij.height >= b ? this.ij.height - b : this.ij.height;
                this.ii = new igniteuiAngularCore.Rect(0, 0, 0, this.ij.width, d);
            }
            else {
                var e = 0;
                for (var f = 0; f < a.f.length; f++) {
                    e = Math.max(e, a.f[f]);
                }
                var g = this.ij.width >= e ? this.ij.width - e : this.ij.width;
                this.ii = new igniteuiAngularCore.Rect(0, e, 0, g, this.ij.height);
            }
        };
        Object.defineProperty(XamBulletGraph.prototype, "view", {
            get: function () {
                return this._view;
            },
            set: function (a) {
                this._view = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "ij", {
            get: function () {
                return this.ig;
            },
            set: function (a) {
                var b = this.ig;
                this.ig = a;
                if (!b.equals1(this.ig)) {
                    this.fn(b, this.ig);
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "ii", {
            get: function () {
                return this.ie;
            },
            set: function (a) {
                this.ie = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "ih", {
            get: function () {
                return this.id;
            },
            set: function (a) {
                this.id = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "cf", {
            get: function () {
                return this.bp;
            },
            set: function (a) {
                var b = this.bp;
                this.bp = a;
                this.fl("PixelScalingRatio", b, this.bp);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamBulletGraph.prototype, "bu", {
            get: function () {
                return this.bo;
            },
            set: function (a) {
                var b = this.bo;
                this.bo = a;
                this.fl("ActualPixelScalingRatio", b, this.bo);
            },
            enumerable: false,
            configurable: true
        });
        XamBulletGraph.prototype.ba = function () {
            return !igniteuiAngularCore.isNaN_(this.bt) && !igniteuiAngularCore.isNaN_(this.bs) && !this.ij.isEmpty && this.view.s();
        };
        XamBulletGraph.prototype.fb = function () {
            if (!this.ba()) {
                return;
            }
            var a = this.cm();
            this.ar = new LinearGraphScaler(this.bt, this.bs, a, a + this.cl(), this.a9);
            if (this.a8) {
                if (this.a7) {
                    if (this.aw.g) {
                        this.aw.t();
                    }
                    var b = this.an;
                    this.an = this.al;
                    this.al = b;
                }
                else {
                    var c = this.an;
                    this.an = this.am;
                    this.am = c;
                }
            }
            else if (this.a7) {
                this.al.d(this.c0, this.an, this.am);
                this.fz(this.al);
                this.f1(this.al);
                this.f2(this.al);
                this.f4(this.al);
            }
            if (this.a8) {
                this.fp();
                this.fy();
                if (this.a1 == 1) {
                    this.a1 = 2;
                    var d = this.an.c;
                    d.af = this.aq(this.c1, true, false);
                }
                else if (this.a1 == 4) {
                    if (this.c8 > 0) {
                        this.a1 = 5;
                        var e = this.am.c;
                        e.af = this.aq(this.c1, true, false);
                    }
                    else {
                        this.ff();
                    }
                }
                this.fr();
                this.fs();
                this.fq();
                this.fo();
            }
            if (this.a8 && this.bd) {
                this.f6();
                this.al.d(this.c0, this.an, this.am);
                this.fz(this.al);
                this.f1(this.al);
                this.f2(this.al);
                this.f4(this.al);
                this.f3(this.al);
                this.f0(this.al);
            }
            else {
                if (this.a8) {
                    this.fz(this.am);
                    this.f1(this.am);
                    this.f2(this.am);
                    this.f4(this.am);
                    this.f3(this.am);
                    this.f0(this.am);
                }
            }
            this.a8 = false;
            this.view.as();
        };
        XamBulletGraph.prototype.fq = function () {
            var a = this.am;
            var b = a.c;
            var c = this.ar;
            var d = this.b9;
            var e = this.ii;
            if (igniteuiAngularCore.isNaN_(d)) {
                d = 3;
            }
            b.u = this.cn;
            b.r = this.ck;
            b.s = 0;
            b.t = 1;
            b.m.clear();
            for (var f = 0; f < this.ranges.count; f++) {
                var g = this.ranges._inner[f];
                if (g.j <= this.bt || g.o > this.bs) {
                    continue;
                }
                var h = g.o;
                var i = g.j;
                if (h < this.bt) {
                    h = this.bt;
                }
                if (i > this.bs) {
                    i = this.bs;
                }
                var j = new LinearGraphRectFrame();
                j.i = g.an != null ? g.an : this.h3(f, this.ah);
                j.j = g.ao != null ? g.ao : this.h3(f, this.ai);
                j.h = g.p;
                j.g = c.i(h);
                j.d = c.i(i);
                j.e = g.l;
                j.b = g.k;
                j.f = g.n;
                j.c = g.m;
                if (igniteuiAngularCore.isNaN_(j.e)) {
                    j.e = this.cg;
                }
                j.b = g.k;
                if (igniteuiAngularCore.isNaN_(j.b)) {
                    j.b = this.cg;
                }
                j.f = g.n;
                if (igniteuiAngularCore.isNaN_(j.f)) {
                    j.f = this.ch;
                }
                j.c = g.m;
                if (igniteuiAngularCore.isNaN_(j.c)) {
                    j.c = this.ch;
                }
                b.m.add(j);
            }
            b.l.i = this.h5;
            b.l.j = this.h6;
            b.l.h = this.ci;
            b.l.g = c.i(this.bt);
            b.l.d = c.i(this.bs);
            b.l.e = this.cg;
            b.l.b = this.cg;
            b.l.f = this.ch;
            b.l.c = this.ch;
            b.ab = this.h2;
            b.ad = this.h9;
            b.x = this.cz;
            b.w = this.cx;
            b.v = this.ct;
            b.ac = this.h4;
            b.q = this.ce;
            b.p = this.cc;
            b.o = this.ca;
            var k = this.b2;
            if (igniteuiAngularCore.isNaN_(k)) {
                k = (this.bs - this.bt) / 10;
            }
            if (k == 0) {
                k = this.bs - this.bt;
            }
            var l = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            var m = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            if (k > 0) {
                var n = this.bt + this.cv;
                var o = this.bs - this.cw;
                var p = 100000;
                var q = Math.abs(o - n) / p;
                if (k >= q) {
                    for (var r = n; r <= o || this.bf(r, o, k); r = r + k) {
                        l.add(c.i(r));
                        for (var s = 0; s < d; s++) {
                            var t = (k / (d + 1)) * (s + 1);
                            if (t + r > o) {
                                continue;
                            }
                            m.add(c.i(t + r));
                        }
                    }
                }
            }
            if (b.j.length != l.count || b.i.length != m.count) {
                b.j = new Array(l.count);
                b.i = new Array(m.count);
            }
            for (var u = 0; u < l.count; u++) {
                b.j[u] = l._inner[u];
            }
            for (var v = 0; v < m.count; v++) {
                b.i[v] = m._inner[v];
            }
        };
        XamBulletGraph.prototype.ik = function () {
            if (!this.bb) {
                return new igniteuiAngularCore.Size(1, 0, 0);
            }
            var a = this.b2;
            var b = this.b4;
            if (igniteuiAngularCore.isNaN_(a)) {
                a = (this.bs - this.bt) / 10;
            }
            if (igniteuiAngularCore.isNaN_(b)) {
                b = a;
            }
            if (b == 0) {
                b = this.bs - this.bt;
            }
            var c = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            if (b > 0) {
                var d = this.b5 + this.bt;
                var e = this.bs - this.b6;
                var f = 100000;
                var g = Math.abs(e - d) / f;
                if (b >= g) {
                    for (var h = d; h <= e || this.bf(h, e, a); h += b) {
                        c.add(h);
                    }
                }
            }
            var i = new Array(c.count);
            var j = new Array(c.count);
            var _loop_1 = function (k) {
                var l = c._inner[k];
                if (this_1.formatLabel == null && this_1.aj == null) {
                    l = (Math.round(l * 100) / 100);
                }
                var m = l.toString();
                if (this_1.aj != null) {
                    m = this_1.aj.i(l);
                }
                var n = new FormatLinearGraphLabelEventArgs();
                n.value = l;
                n.label = m;
                if (this_1.formatLabel != null) {
                    this_1.formatLabel(this_1, n);
                }
                m = n.label;
                var o = this_1.view.ct(((function () {
                    var $ret = new igniteuiAngularCore.TextBlock();
                    $ret.al = m;
                    return $ret;
                })()));
                i[k] = o.width;
                j[k] = o.height;
            };
            var this_1 = this;
            for (var k = 0; k < c.count; k++) {
                _loop_1(k);
            }
            var p = 0;
            var q = 0;
            var r = 1 - this.ck + this.cn;
            if (this.as == 0) {
                for (var s = 0; s < j.length; s++) {
                    q = Math.max(q, j[s]);
                }
                for (var t = 0; t < i.length; t++) {
                    p += i[t];
                }
                if (i.length > 0) {
                    p += i[0] / 2;
                }
                if (i.length > 1) {
                    p += i[i.length - 1] / 2;
                }
                if (i.length > 0) {
                    p += (i.length - 1) * 5;
                }
                if (r > 0) {
                    p = p / Math.abs(1 - r);
                }
            }
            else {
                for (var u = 0; u < i.length; u++) {
                    p = Math.max(p, i[u]);
                }
                for (var v = 0; v < j.length; v++) {
                    q += j[v];
                }
                if (j.length > 0) {
                    q -= j[0] / 2;
                }
                if (j.length > 1) {
                    q -= j[j.length - 1] / 2;
                }
                if (r > 0) {
                    q = q / Math.abs(1 - r);
                }
                if (j.length > 0) {
                    q += (j.length - 1) * 5;
                }
            }
            return new igniteuiAngularCore.Size(1, p, q);
        };
        XamBulletGraph.prototype.fp = function () {
            var a = this.am;
            var b = a.c;
            var c = this.ar;
            var d = this.b2;
            var e = this.b4;
            var f = this.b9;
            if (igniteuiAngularCore.isNaN_(d)) {
                d = (this.bs - this.bt) / 10;
            }
            if (igniteuiAngularCore.isNaN_(e)) {
                e = d;
            }
            if (e == 0) {
                e = this.bs - this.bt;
            }
            var g = new igniteuiAngularCore.List$1(igniteuiAngularCore.Tuple$2.$.specialize(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type), 0);
            if (e > 0) {
                var h = this.b5 + this.bt;
                var i = this.bs - this.b6;
                var j = 100000;
                var k = Math.abs(i - h) / j;
                if (e >= k) {
                    for (var l = h; l <= i || this.bf(l, i, e); l = l + e) {
                        g.add(new igniteuiAngularCore.Tuple$2(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type, l, c.i(l)));
                    }
                }
            }
            if (b.d.length != g.count) {
                b.e = new Array(g.count);
                b.d = new Array(g.count);
                b.f = new Array(g.count);
                b.c = new Array(g.count);
                b.g = new Array(g.count);
                b.h = new Array(g.count);
            }
            b.n = this.b3;
            var m = new FormatLinearGraphLabelEventArgs();
            m.actualMinimumValue = this.bt;
            m.actualMaximumValue = this.bs;
            var n = new AlignLinearGraphLabelEventArgs();
            n.actualMinimumValue = this.bt;
            n.actualMaximumValue = this.bs;
            var _loop_2 = function (o) {
                var p = g._inner[o].c;
                if (this_2.formatLabel == null) {
                    p = (Math.round(p * 100) / 100);
                }
                var q = (p).toString();
                if (this_2.aj != null) {
                    q = this_2.aj.i(p);
                }
                m.value = p;
                n.value = p;
                m.label = q;
                if (this_2.formatLabel != null && this_2.bb) {
                    this_2.formatLabel(this_2, m);
                }
                q = m.label;
                n.label = q;
                var r = this_2.view.ct(((function () {
                    var $ret = new igniteuiAngularCore.TextBlock();
                    $ret.al = q;
                    return $ret;
                })()));
                n.width = r.width;
                n.height = r.height;
                if (this_2.as == 0) {
                    n.offsetX = -1 * (r.width / 2);
                    n.offsetY = -1 * (r.height);
                }
                else {
                    n.offsetX = -1 * r.width;
                    n.offsetY = -1 * (r.height / 2);
                }
                if (this_2.alignLabel != null && this_2.bb) {
                    this_2.alignLabel(this_2, n);
                }
                if (this_2.bb) {
                    b.f[o] = n.width;
                    b.c[o] = n.height;
                }
                else {
                    b.f[o] = 0;
                    b.c[o] = 0;
                }
                b.g[o] = n.offsetX;
                b.h[o] = n.offsetY;
                b.d[o] = q;
                b.e[o] = g._inner[o].d;
            };
            var this_2 = this;
            for (var o = 0; o < g.count; o++) {
                _loop_2(o);
            }
        };
        XamBulletGraph.prototype.bf = function (a, b, c) {
            var d = c / 10000;
            if (igniteuiAngularCore.isNaN_(d)) {
                d = 1E-05;
            }
            var e = Math.abs(a - b);
            if (e < d) {
                return true;
            }
            return false;
        };
        XamBulletGraph.prototype.fo = function () {
            var a = this.am;
            var b = a.a;
            b.e = this.h0;
            b.f = this.h1;
            b.c = this.bx;
            b.a = this.bv;
            b.b = this.bw;
        };
        XamBulletGraph.prototype.fr = function () {
            var a = this.am;
            var b = a.b;
            var c = this.ar;
            b.e = this.cq;
            b.b = this.cq;
            b.f = this.cr;
            b.c = this.cr;
            b.i = this.h7;
            b.j = this.h8;
            b.h = this.cs;
            if (igniteuiAngularCore.isNaN_(this.co)) {
                return;
            }
            var d = c.i(this.co);
            var e = (this.cp / 2);
            b.g = d - e;
            b.d = d + e;
        };
        XamBulletGraph.prototype.fs = function () {
            var a = this.am.c;
            var b = this.c1;
            if (igniteuiAngularCore.isNaN_(b)) {
                return;
            }
            var c = !(this.a1 == 0 || this.a1 == 5);
            a.ag = this.aq(b, false, c);
            var d = this.b0;
            if (c && !igniteuiAngularCore.isNaN_(d)) {
                a.af = this.aq(d, true, false);
            }
        };
        XamBulletGraph.prototype.aq = function (a, b, c) {
            var d = this.ar;
            var e = this.bt;
            if (igniteuiAngularCore.isNaN_(e)) {
                e = this.bt;
            }
            var f = a;
            var g = new LinearGraphRectFrame();
            var h = this.ia;
            var i = this.ib;
            if (c) {
                h = igniteuiAngularCore.BrushUtil.s(h, this.br);
                i = igniteuiAngularCore.BrushUtil.s(i, this.br);
            }
            g.i = h;
            g.j = i;
            g.h = this.c4;
            g.g = d.i(e);
            g.d = d.i(f);
            g.e = this.c2;
            g.b = this.c2;
            g.f = this.c3;
            g.c = this.c3;
            return g;
        };
        XamBulletGraph.prototype.h3 = function (a, b) {
            if (b != null && b.count > 0) {
                return b.item(a % b.count);
            }
            else {
                return null;
            }
        };
        XamBulletGraph.prototype.f3 = function (a) {
            var b = this.ii;
            var c = a.c;
            var d = this.a5;
            var e = c.j;
            var f = c.w;
            var g = c.v;
            var h = c.ad;
            var i = c.x;
            var j = this.a3;
            var k = c.i;
            var l = c.p;
            var m = c.o;
            var n = c.ac;
            var o = c.q;
            d.f = true;
            for (var p = 0; p < this.bi.count; p++) {
                d.n(this.bi._inner[p]);
            }
            this.bi.clear();
            var q = this.cj();
            var r = this.c6();
            var _loop_3 = function (s) {
                var t = void 0, u = void 0, v, w;
                if (this_3.as == 1) {
                    t = b.left + q * f;
                    u = r - e[s];
                    v = b.left + q * g;
                    w = u;
                }
                else {
                    t = b.left + e[s];
                    u = q * (1 - f);
                    v = t;
                    w = q * (1 - g);
                }
                var x = d.a();
                var y = new igniteuiAngularCore.PathGeometry();
                var z = new igniteuiAngularCore.PathFigure();
                z._startPoint = { $type: igniteuiAngularCore.Point_$type, x: t, y: u };
                z._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: v, y: w };
                    return $ret;
                })()));
                y.c.add(z);
                x.an = y;
                x._stroke = h;
                x.ad = i;
                this_3.bi.add(x);
            };
            var this_3 = this;
            for (var s = 0; s < e.length; s++) {
                _loop_3(s);
            }
            var _loop_4 = function (aa) {
                var ab = void 0, ac = void 0, ad, ae;
                if (this_4.as == 1) {
                    ab = b.left + q * l;
                    ac = r - k[aa];
                    ad = b.left + q * m;
                    ae = ac;
                }
                else {
                    ab = k[aa];
                    ac = q * (1 - l);
                    ad = ab;
                    ae = q * (1 - m);
                }
                var af = d.a();
                var ag = new igniteuiAngularCore.PathGeometry();
                var ah = new igniteuiAngularCore.PathFigure();
                ah._startPoint = { $type: igniteuiAngularCore.Point_$type, x: ab, y: ac };
                ah._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: ad, y: ae };
                    return $ret;
                })()));
                ag.c.add(ah);
                af.an = ag;
                af._stroke = n;
                af.ad = o;
                this_4.bi.add(af);
            };
            var this_4 = this;
            for (var aa = 0; aa < k.length; aa++) {
                _loop_4(aa);
            }
            d.f = false;
        };
        XamBulletGraph.prototype.f0 = function (a) {
            var b = this.ii;
            var c = a.c;
            var d = c.e;
            var e = c.d;
            var f = c.g;
            var g = c.h;
            var h = c.f;
            var i = c.c;
            var j = c.n;
            var k = this.a2;
            k.f = true;
            for (var l = 0; l < this.bg.count; l++) {
                k.n(this.bg._inner[l]);
            }
            this.bg.clear();
            var m = c.ab;
            var n = this.c5();
            var o = this.c6();
            for (var p = 0; p < e.length; p++) {
                var q = void 0, r = void 0;
                if (this.as == 1) {
                    q = b.left + n * j;
                    r = b.top + o - d[p];
                }
                else {
                    q = b.left + d[p];
                    r = b.top + n * (1 - j);
                }
                var s = k.a();
                s.al = e[p];
                this.view.bq(s, m);
                var t = h[p];
                var u = i[p];
                var v = f[p];
                var w = g[p];
                this.view.bh(s, q + v, r + w);
                if (this.bb) {
                    this.view.a1(s);
                }
                else {
                    this.view.a2(s);
                }
                this.bg.add(s);
            }
            k.f = false;
        };
        XamBulletGraph.prototype.f1 = function (a) {
            var b = a.c;
            var c = this.a4;
            c.f = true;
            for (var d = 0; d < this.bh.count; d++) {
                c.n(this.bh._inner[d]);
            }
            this.bh.clear();
            var e = this.cj();
            var f = this.c6();
            var g = this.ic();
            var h = this.view.co();
            h.an = b.ae(g, e, f, this.as);
            for (var i = 0; i < b.m.count; i++) {
                var j = b.m._inner[i];
                var k = c.a();
                k.an = j.k(g, e, f, this.as);
                k._fill = j.i;
                k._stroke = j.j;
                k.ad = j.h;
                this.bh.add(k);
            }
            this.view.bp(this.bh);
            c.f = false;
            var l = this.view.cn();
            l.an = b.l.k(g, e, f, this.as);
            l._fill = b.l.i;
            l._stroke = b.l.j;
            l.ad = b.l.h;
        };
        XamBulletGraph.prototype.fz = function (a) {
            var b = this.ih;
            var c = this.view.cl();
            var d = a.a;
            var e = this.as == 0 ? b.height : b.width;
            var f = this.as == 0 ? b.width : b.height;
            var g = d.g(e, f, this.as);
            c.an = g;
            c._fill = d.e;
            c._stroke = d.f;
            c.ad = d.c;
        };
        XamBulletGraph.prototype.f2 = function (a) {
            var b = this.view.cp();
            if (igniteuiAngularCore.isNaN_(this.co) || this.co < this.bt || this.co > this.bs) {
                b.an = null;
                return;
            }
            var c = a.b;
            var d = this.cj();
            var e = this.c6();
            var f = this.ic();
            var g = c.k(f, d, e, this.as);
            b.an = g;
            b._fill = c.i;
            b._stroke = c.j;
            b.ad = c.h;
        };
        XamBulletGraph.prototype.f4 = function (a) {
            var b = this.view.cq();
            var c = this.view.cm();
            var d = this.c1;
            if (d <= this.bt || d > this.bs || igniteuiAngularCore.isNaN_(d)) {
                b.an = null;
                c.an = null;
                return;
            }
            var e = this.b0;
            var f = this.a1 != 0;
            if (!f || e <= this.bt || e > this.bs || igniteuiAngularCore.isNaN_(e)) {
                c.an = null;
                f = false;
            }
            var g = a.c;
            var h = this.cj();
            var i = this.c6();
            var j = this.ic();
            var k = g.ag;
            b.an = k.k(j, h, i, this.as);
            b._fill = k.i;
            b._stroke = k.j;
            b.ad = k.h;
            if (f) {
                var l = g.af;
                c.an = l.k(j, h, i, this.as);
                c._fill = l.i;
                c._stroke = l.j;
                c.ad = l.h;
            }
        };
        XamBulletGraph.prototype.fn = function (a, b) {
            this.a8 = true;
            this.view.bo();
        };
        XamBulletGraph.prototype.fi = function (a, b) {
            this.a8 = true;
            this.view.bo();
        };
        XamBulletGraph.prototype.cj = function () {
            if (this.as == 0) {
                return this.bc ? this.ij.height : this.ii.height;
            }
            return this.bc ? this.ij.width : this.ii.width;
        };
        XamBulletGraph.prototype.cl = function () {
            if (this.as == 0) {
                return this.ij.width * (this.ck - this.cn);
            }
            return this.ij.height * (this.ck - this.cn);
        };
        XamBulletGraph.prototype.c5 = function () {
            if (this.as == 0) {
                return this.ij.height;
            }
            return this.ij.width;
        };
        XamBulletGraph.prototype.c6 = function () {
            if (this.as == 0) {
                return this.ij.width;
            }
            return this.ij.height;
        };
        XamBulletGraph.prototype.cm = function () {
            var a = this.cn;
            if (this.as == 0) {
                if (this.a9) {
                    a = 1 - this.ck;
                }
                return this.ij.left + this.ij.width * a;
            }
            if (this.a9) {
                a = 1 - this.ck;
            }
            return this.ij.top + this.ij.height * a;
        };
        XamBulletGraph.prototype.ic = function () {
            var a = this.ii.left;
            if (this.bc) {
                a = 0;
            }
            var b = this.cn;
            if (this.as == 0) {
                if (this.a9) {
                    b = 1 - this.ck;
                }
                return { $type: igniteuiAngularCore.Point_$type, x: a + this.ii.width * b, y: this.ii.top };
            }
            if (!this.a9) {
                b = 1 - this.ck;
            }
            return { $type: igniteuiAngularCore.Point_$type, x: a, y: this.ii.top + this.ii.height * b };
        };
        XamBulletGraph.prototype.fl = function (a, b, c) {
            switch (a) {
                case XamBulletGraph.$$p[52]:
                case XamBulletGraph.$$p[37]:
                case XamBulletGraph.$$p[41]:
                case XamBulletGraph.$$p[0]:
                case XamBulletGraph.$$p[3]:
                case XamBulletGraph.$$p[56]:
                case XamBulletGraph.$$p[44]:
                case XamBulletGraph.$$p[22]:
                    this.view.a5(a, b, c);
                    break;
                case XamBulletGraph.$$p[28]:
                    this.view.ba(b, c);
                    break;
                case XamBulletGraph.$$p[31]:
                    this.view.bb(b, c);
                    break;
            }
            switch (a) {
                case XamBulletGraph.$$p[13]:
                case XamBulletGraph.$$p[14]:
                    if (this.ds != null) {
                        this.aj = new igniteuiAngularCore.BindingFormatter();
                        this.aj.j = this.ds;
                        this.aj.d = this.ag;
                    }
                    else {
                        this.aj = null;
                    }
                    this.a8 = true;
                    this.view.bo();
                    break;
                case XamBulletGraph.$$p[51]:
                    this.aw.r = this.c8;
                    this.view.bo();
                    break;
                case "TransitionProgress":
                    if (this.c0 >= 1) {
                        this.aw.w();
                        var d = this.am;
                        this.am = this.an;
                        this.an = d;
                        this.fp();
                        this.fr();
                        this.fs();
                        this.fq();
                        this.fo();
                        this.fz(this.am);
                        this.f1(this.am);
                        this.f2(this.am);
                        this.f4(this.am);
                        this.f3(this.am);
                        this.f0(this.am);
                        if (this.a1 == 5) {
                            this.ff();
                            this.view.bo();
                            return;
                        }
                        else if (this.a1 == 2) {
                            this.a1 = 3;
                        }
                    }
                    this.al.d(this.c0, this.an, this.am);
                    this.fz(this.al);
                    this.f1(this.al);
                    this.f2(this.al);
                    this.f4(this.al);
                    this.f3(this.al);
                    this.f0(this.al);
                    this.view.as();
                    break;
                case XamBulletGraph.$$p[57]:
                case XamBulletGraph.$$p[53]:
                case XamBulletGraph.$$p[55]:
                case XamBulletGraph.$$p[52]:
                case XamBulletGraph.$$p[56]:
                case XamBulletGraph.$$p[58]:
                case XamBulletGraph.$$p[37]:
                case XamBulletGraph.$$p[41]:
                case XamBulletGraph.$$p[43]:
                case XamBulletGraph.$$p[36]:
                case XamBulletGraph.$$p[38]:
                case XamBulletGraph.$$p[40]:
                case XamBulletGraph.$$p[0]:
                case XamBulletGraph.$$p[3]:
                case XamBulletGraph.$$p[44]:
                case XamBulletGraph.$$p[22]:
                case XamBulletGraph.$$p[28]:
                case XamBulletGraph.$$p[31]:
                case XamBulletGraph.$$p[20]:
                case XamBulletGraph.$$p[42]:
                case XamBulletGraph.$$p[39]:
                case XamBulletGraph.$$p[29]:
                case XamBulletGraph.$$p[30]:
                case XamBulletGraph.$$p[4]:
                case XamBulletGraph.$$p[1]:
                case XamBulletGraph.$$p[2]:
                case XamBulletGraph.$$p[10]:
                case XamBulletGraph.$$p[15]:
                case XamBulletGraph.$$p[12]:
                case XamBulletGraph.$$p[16]:
                case XamBulletGraph.$$p[17]:
                case XamBulletGraph.$$p[18]:
                case XamBulletGraph.$$p[48]:
                case XamBulletGraph.$$p[49]:
                case XamBulletGraph.$$p[46]:
                case XamBulletGraph.$$p[45]:
                case XamBulletGraph.$$p[47]:
                case XamBulletGraph.$$p[25]:
                case XamBulletGraph.$$p[24]:
                case XamBulletGraph.$$p[23]:
                case XamBulletGraph.$$p[26]:
                case "ScaleBackgroundBrush":
                case "ScaleBackgroundOutline":
                case "ScaleBackgroundThickness":
                    this.a8 = true;
                    this.view.bo();
                    break;
                case XamBulletGraph.$$p[32]:
                    var e = b;
                    var f = c;
                    if (e != null) {
                        var g = e;
                        g.collectionChanged = igniteuiAngularCore.delegateRemove(g.collectionChanged, igniteuiAngularCore.runOn(this, this.fw));
                    }
                    if (f != null) {
                        var h = f;
                        h.collectionChanged = igniteuiAngularCore.delegateCombine(h.collectionChanged, igniteuiAngularCore.runOn(this, this.fw));
                    }
                    this.a8 = true;
                    this.view.bo();
                    break;
                case XamBulletGraph.$$p[27]:
                case XamBulletGraph.$$p[11]:
                case XamBulletGraph.$$p[21]:
                case XamBulletGraph.$$p[19]:
                case XamBulletGraph.$$p[33]:
                case XamBulletGraph.$$p[34]:
                    this.bt = Math.min(this.b8, this.b7);
                    this.bs = Math.max(this.b8, this.b7);
                    var i = this.cm();
                    this.ar = new LinearGraphScaler(this.bt, this.bs, i, i + this.cl(), this.a9);
                    this.a8 = true;
                    this.view.bo();
                    break;
                case XamBulletGraph.$$p[5]:
                case XamBulletGraph.$$p[6]:
                    this.view.by();
                    this.a8 = true;
                    this.view.bo();
                    break;
                case "PixelScalingRatio":
                    if (igniteuiAngularCore.isNaN_(igniteuiAngularCore.DeviceUtils.a(this.cf))) {
                        this.bu = 1;
                    }
                    else {
                        this.bu = igniteuiAngularCore.DeviceUtils.a(this.cf);
                    }
                    break;
                case "ActualPixelScalingRatio":
                    this.view.bf();
                    break;
                case XamBulletGraph.$$p[9]:
                    {
                        var j = this.az == 2;
                        this.f8();
                        var k = this.az == 2;
                        this.a8 = true;
                        if (!j && k) {
                            this.a1 = 1;
                        }
                        else if (j && !k) {
                            this.a1 = 4;
                        }
                        this.view.bo();
                        break;
                    }
                case XamBulletGraph.$$p[7]:
                    {
                        var l = this.az == 2;
                        this.f8();
                        var m = this.az == 2;
                        this.a8 = true;
                        if (!l && m) {
                            this.a1 = 1;
                        }
                        else if (l && !m) {
                            this.a1 = 4;
                        }
                        this.view.bo();
                        break;
                    }
                case XamBulletGraph.$$p[8]:
                    this.f9();
                    break;
                case "ActualHighlightValueOpacity":
                    this.a8 = true;
                    this.view.bo();
                    break;
            }
            this.fm(a);
        };
        XamBulletGraph.prototype.fw = function (a, b) {
            var e_1, _a, e_2, _b;
            if (b.oldItems != null) {
                try {
                    for (var _c = tslib.__values(igniteuiAngularCore.fromEn(b.oldItems)), _d = _c.next(); !_d.done; _d = _c.next()) {
                        var c = _d.value;
                        c.propertyChanged = igniteuiAngularCore.delegateRemove(c.propertyChanged, igniteuiAngularCore.runOn(this, this.fv));
                    }
                }
                catch (e_1_1) {
                    e_1 = { error: e_1_1 };
                }
                finally {
                    try {
                        if (_d && !_d.done && (_a = _c.return))
                            _a.call(_c);
                    }
                    finally {
                        if (e_1)
                            throw e_1.error;
                    }
                }
            }
            if (b.newItems != null) {
                try {
                    for (var _e = tslib.__values(igniteuiAngularCore.fromEn(b.newItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
                        var d = _f.value;
                        d.propertyChanged = igniteuiAngularCore.delegateCombine(d.propertyChanged, igniteuiAngularCore.runOn(this, this.fv));
                    }
                }
                catch (e_2_1) {
                    e_2 = { error: e_2_1 };
                }
                finally {
                    try {
                        if (_f && !_f.done && (_b = _e.return))
                            _b.call(_e);
                    }
                    finally {
                        if (e_2)
                            throw e_2.error;
                    }
                }
            }
            this.a8 = true;
            this.view.bo();
        };
        XamBulletGraph.prototype.fv = function (a, b) {
            this.a8 = true;
            this.view.bo();
        };
        XamBulletGraph.prototype.refresh = function () {
            this.a8 = true;
            this.view.bo();
        };
        XamBulletGraph.prototype.ax = function () {
            return igniteuiAngularCore.FontUtil.toFontInfo(this.view.ag, this.di);
        };
        XamBulletGraph.$t = igniteuiAngularCore.markType(XamBulletGraph, 'XamBulletGraph', igniteuiAngularCore.Control.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        XamBulletGraph.g7 = igniteuiAngularCore.DependencyProperty.i("ScaleBackgroundBrush", igniteuiAngularCore.Brush.$, XamBulletGraph.$, new igniteuiAngularCore.PropertyMetadata(2, null, function (a, b) { return a.fl("ScaleBackgroundBrush", b.oldValue, b.newValue); }));
        XamBulletGraph.g8 = igniteuiAngularCore.DependencyProperty.i("ScaleBackgroundOutline", igniteuiAngularCore.Brush.$, XamBulletGraph.$, new igniteuiAngularCore.PropertyMetadata(2, null, function (a, b) { return a.fl("ScaleBackgroundOutline", b.oldValue, b.newValue); }));
        XamBulletGraph.g9 = igniteuiAngularCore.DependencyProperty.i("ScaleBackgroundThickness", igniteuiAngularCore.Number_$type, XamBulletGraph.$, new igniteuiAngularCore.PropertyMetadata(2, 1, function (a, b) { return a.fl("ScaleBackgroundThickness", b.oldValue, b.newValue); }));
        XamBulletGraph.$$p = igniteuiAngularCore.markDep(igniteuiAngularCore.DependencyProperty, igniteuiAngularCore.PropertyMetadata, XamBulletGraph, 'fl', ['BackingBrush:h0:ga', [igniteuiAngularCore.Brush.$, null], 'BackingInnerExtent:bv:gb', [1, 0], 'BackingOuterExtent:bw:gc', [1, 1], 'BackingOutline:h1:gd', [igniteuiAngularCore.Brush.$, null], 'BackingStrokeThickness:bx:ge', [1, 2], 'FontBrush:h2:gf', [igniteuiAngularCore.Brush.$, null], 'Font:di:gg', [2, null], 'HighlightValueDisplayMode:a0:gh', [igniteuiAngularCore.HighlightedValueDisplayMode_$type, igniteuiAngularCore.enumGetBox(igniteuiAngularCore.HighlightedValueDisplayMode_$type, 0)], 'HighlightValueOpacity:b1:gi', [1, 0.5], 'HighlightValue:b0:gj', [1, NaN], 'Interval:b2:gk', [1, NaN], 'IsScaleInverted:a9:gl', [0, false], 'LabelExtent:b3:gm', [1, 0], 'LabelFormat:ds:gn', [2, null], 'LabelFormatSpecifiers:ag:go', [igniteuiAngularCore.Array_$type, null], 'LabelInterval:b4:gp', [1, NaN], 'LabelsPostInitial:b5:gq', [1, 0], 'LabelsPreTerminal:b6:gr', [1, 0], 'LabelsVisible:bb:gs', [0, true], 'MaximumValue:b7:gt', [1, 100], 'MergeViewports:bc:gu', [0, false], 'MinimumValue:b8:gv', [1, 0], 'MinorTickBrush:h4:gw', [igniteuiAngularCore.Brush.$, null], 'MinorTickCount:b9:gx', [1, 3], 'MinorTickEndExtent:ca:gy', [1, 0.2], 'MinorTickStartExtent:cc:gz', [1, 0.1], 'MinorTickStrokeThickness:ce:g0', [1, 1], 'Orientation:as:g1', [LinearScaleOrientation_$type, igniteuiAngularCore.enumGetBox(LinearScaleOrientation_$type, 0)], 'RangeBrushes:ah:g2', [igniteuiAngularCore.BrushCollection.$, null], 'RangeInnerExtent:cg:g3', [1, 0.2], 'RangeOuterExtent:ch:g4', [1, 0.95], 'RangeOutlines:ai:g5', [igniteuiAngularCore.BrushCollection.$, null], 'Ranges::g6', [LinearGraphRangeCollection.$, null], 'ScaleEndExtent:ck:ha', [1, 0.95], 'ScaleStartExtent:cn:hb', [1, 0.05], 'ShowToolTipTimeout:c7:hc', [1, 500], 'TargetValueBreadth:cp:hd', [1, 3], 'TargetValueBrush:h7:he', [igniteuiAngularCore.Brush.$, null], 'TargetValueInnerExtent:cq:hf', [1, 0.3], 'TargetValueName:en:hg', [2, null], 'TargetValueOuterExtent:cr:hh', [1, 0.85], 'TargetValueOutline:h8:hi', [igniteuiAngularCore.Brush.$, null], 'TargetValue:co:hj', [1, NaN], 'TargetValueStrokeThickness:cs:hk', [1, 1], 'TickBrush:h9:hl', [igniteuiAngularCore.Brush.$, null], 'TickEndExtent:ct:hm', [1, 0.2], 'TickStartExtent:cx:hp', [1, 0.06], 'TickStrokeThickness:cz:hq', [1, 2], 'TicksPostInitial:cv:hn', [1, 0], 'TicksPreTerminal:cw:ho', [1, 0], 'ToolTip::hr', [4, null], 'TransitionDuration:c8:hs', [1, 0], 'ValueBrush:ia:ht', [igniteuiAngularCore.Brush.$, null], 'ValueInnerExtent:c2:hu', [1, 0.5], 'ValueName:e4:hv', [2, null], 'ValueOuterExtent:c3:hw', [1, 0.65], 'ValueOutline:ib:hx', [igniteuiAngularCore.Brush.$, null], 'Value:c1:hy', [1, NaN], 'ValueStrokeThickness:c4:hz', [1, 1]]);
        return XamBulletGraph;
    }(igniteuiAngularCore.Control));
    /**
     * @hidden
     */
    var XamBulletGraphView = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamBulletGraphView, _super);
        function XamBulletGraphView(a) {
            var _this = _super.call(this) || this;
            _this.ao = 0;
            _this.an = 0;
            _this.ap = 0;
            _this.m = null;
            _this.i = null;
            _this.ai = null;
            _this.p = null;
            _this.ag = null;
            _this.aa = null;
            _this.z = null;
            _this.y = null;
            _this.ab = null;
            _this.ck = null;
            _this.cg = null;
            _this.cj = null;
            _this.ci = null;
            _this.cf = null;
            _this.ch = null;
            _this.b7 = null;
            _this.b8 = null;
            _this.b4 = null;
            _this.b5 = null;
            _this.b9 = null;
            _this.ca = null;
            _this.b6 = null;
            _this.c = null;
            _this.d = null;
            _this.e = null;
            _this.f = null;
            _this.cb = null;
            _this.cc = null;
            _this.q = false;
            _this.v = null;
            _this.a = ["value", "targetvalue", "backing", "scale", "tick", "minortick", "label"];
            _this.u = false;
            _this.t = false;
            _this.ah = null;
            _this.k = null;
            _this.aj = 0;
            _this.al = 0;
            _this.aq = null;
            _this.am = -1;
            _this.cd = null;
            _this.ak = 0;
            _this.x = null;
            _this.b3 = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "black";
                return $ret;
            })());
            _this.r = false;
            _this.n = null;
            _this.b2 = null;
            _this.ac = 0;
            _this.m = a;
            _this.v = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Dictionary$2.$.specialize(igniteuiAngularCore.String_$type, igniteuiAngularCore.Brush.$), 0);
            _this.cj = new igniteuiAngularCore.Path();
            _this.ck = new igniteuiAngularCore.Path();
            _this.cg = new igniteuiAngularCore.Path();
            _this.ci = new igniteuiAngularCore.Path();
            _this.cf = new igniteuiAngularCore.Path();
            _this.ch = new igniteuiAngularCore.Path();
            _this.aa = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.z = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.y = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.ab = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            return _this;
        }
        XamBulletGraphView.prototype.a4 = function () {
            this.a0();
            if (this.i != null) {
                this.i.au(this.ag.rootWrapper, "");
            }
        };
        XamBulletGraphView.prototype.a8 = function () {
            if (this.i != null && this.ag != null) {
                this.i.bi(this.ag.rootWrapper, "");
            }
        };
        XamBulletGraphView.prototype.a9 = function () {
            this.k = new LinearGraphTooltipDataContext();
            this.ak = this.m.c7;
            this.a0();
        };
        XamBulletGraphView.prototype.a0 = function () {
            var a = igniteuiAngularCore.CanvasScalingHelpers.b(this.ag);
            this.m.bu = igniteuiAngularCore.CanvasScalingHelpers.a(this.m.cf, this.m.bu, a);
            if (this.i != null) {
                igniteuiAngularCore.CanvasScalingHelpers.h(this.i, a);
            }
        };
        XamBulletGraphView.prototype.s = function () {
            return true;
        };
        XamBulletGraphView.prototype.cp = function () {
            return this.cj;
        };
        XamBulletGraphView.prototype.cq = function () {
            return this.ck;
        };
        XamBulletGraphView.prototype.cm = function () {
            return this.cg;
        };
        XamBulletGraphView.prototype.co = function () {
            return this.ci;
        };
        XamBulletGraphView.prototype.cl = function () {
            return this.cf;
        };
        XamBulletGraphView.prototype.cn = function () {
            return this.ch;
        };
        XamBulletGraphView.prototype.ay = function () {
            this.q = true;
            var a = ["#778899", "black", "#EBEDEF", "#617583", "#617583", "rgba(100,107,114,.74)", "rgba(100,107,114,.74)"];
            var b = ["#778899", "black", "#B2B9C0", "#B2B9C0", null, null, null];
            var c = ((function () {
                var $ret = new igniteuiAngularCore.List$1(igniteuiAngularCore.Array_$type, 0);
                $ret.add(a);
                $ret.add(b);
                return $ret;
            })());
            this.v.clear();
            var d = this.a.length;
            var _loop_5 = function (e) {
                var f = this_5.a[e];
                var g = "ui-bulletgraph-" + f;
                var h = "ui-bulletgraph-" + f + "-fill";
                var i = "ui-bulletgraph-" + f + "-outline";
                var j;
                if (!((function () { var k = XamBulletGraphView.w.tryGetValue(h, j); j = k.p1; return k.ret; })())) {
                    j = igniteuiAngularCore.BrushUtil.m(h, g, "background-color", this_5.ag, a[e]);
                    XamBulletGraphView.w.addItem(h, j);
                }
                var k;
                if (!((function () { var l = XamBulletGraphView.w.tryGetValue(i, k); k = l.p1; return l.ret; })())) {
                    k = igniteuiAngularCore.BrushUtil.m(i, g, "border-top-color", this_5.ag, b[e]);
                    XamBulletGraphView.w.addItem(i, k);
                }
                var l = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Brush.$, 0);
                l.item("fill", j);
                l.item("outline", k);
                this_5.v.item(this_5.a[e], l);
            };
            var this_5 = this;
            for (var e = 0; e < d; e++) {
                _loop_5(e);
            }
            this.bx();
            if (XamBulletGraphView.g == null || XamBulletGraphView.h == null) {
                var m = igniteuiAngularCore.BrushUtil.i("ui-bulletgraph-range-fill-palette-", "ui-bulletgraph-range-outline-palette-", "ui-bulletgraph-range-palette-", this.ag, XamBulletGraphView.g, XamBulletGraphView.h, ["#216E99", "#216E99", "#44acd6", "#44acd6", "#cecece", "#cecece"]);
                XamBulletGraphView.g = m.p4;
                XamBulletGraphView.h = m.p5;
            }
            this.c = XamBulletGraphView.g;
            this.d = XamBulletGraphView.h;
            if (this.e == null) {
                this.m.ah = this.c;
            }
            if (this.f == null) {
                this.m.ai = this.d;
            }
            this.q = false;
        };
        XamBulletGraphView.prototype.bx = function () {
            this.q = true;
            var a = this.a.length;
            for (var b = 0; b < a; b++) {
                var c = this.a[b];
                this.bw(c, this.v.item(c));
            }
            this.q = false;
        };
        XamBulletGraphView.prototype.bw = function (a, b) {
            var c = b.item("fill");
            var d = b.item("outline");
            switch (a) {
                case "targetvalue":
                    if (this.b7 == null) {
                        this.m.h7 = c;
                    }
                    if (this.b8 == null) {
                        this.m.h8 = d;
                    }
                    break;
                case "value":
                    if (this.cb == null) {
                        this.m.ia = c;
                    }
                    if (this.cc == null) {
                        this.m.ib = d;
                    }
                    break;
                case "backing":
                    if (this.b4 == null) {
                        this.m.h0 = c;
                    }
                    if (this.b5 == null) {
                        this.m.h1 = d;
                    }
                    break;
                case "tick":
                    if (this.ca == null) {
                        this.m.h9 = c;
                    }
                    break;
                case "minortick":
                    if (this.b6 == null) {
                        this.m.h4 = c;
                    }
                    break;
                case "label":
                    this.b3 = c;
                    break;
            }
        };
        XamBulletGraphView.prototype.a5 = function (a, b, c) {
            var d = b;
            var e = c;
            if (!this.q) {
                switch (a) {
                    case XamBulletGraph.$$p[37]:
                        this.b7 = e;
                        break;
                    case XamBulletGraph.$$p[41]:
                        this.b8 = e;
                        break;
                    case XamBulletGraph.$$p[0]:
                        this.b4 = e;
                        break;
                    case XamBulletGraph.$$p[3]:
                        this.b5 = e;
                        break;
                    case XamBulletGraph.$$p[52]:
                        this.cb = e;
                        break;
                    case XamBulletGraph.$$p[56]:
                        this.cc = e;
                        break;
                    case XamBulletGraph.$$p[44]:
                        this.ca = e;
                        break;
                    case XamBulletGraph.$$p[22]:
                        this.b6 = e;
                        break;
                }
                if (e == null) {
                    this.bx();
                }
            }
        };
        XamBulletGraphView.prototype.ba = function (a, b) {
            if (!this.q) {
                this.e = b;
                if (this.e == null) {
                    this.m.ah = this.c;
                }
            }
        };
        XamBulletGraphView.prototype.bb = function (a, b) {
            if (!this.q) {
                this.f = b;
                if (this.f == null) {
                    this.m.ai = this.d;
                }
            }
        };
        XamBulletGraphView.prototype.b = function (a, b) {
            this.ag.startCSSQuery();
            for (var c = 0; c < b.length; c++) {
                b[c] = this.ag.getCssDefaultPropertyValue(a, b[c]);
            }
            this.ag.endCSSQuery();
            return b;
        };
        XamBulletGraphView.prototype.bs = function () {
            this.ay();
            this.by();
            this.bo();
        };
        XamBulletGraphView.prototype.ce = function (a) {
            var b = igniteuiAngularCore.CanvasGestureDOMEventProxy.c5(this.ag.rootWrapper);
            return { $type: igniteuiAngularCore.Point_$type, x: a.x - b.left, y: a.y - b.top };
        };
        XamBulletGraphView.prototype.br = function (a, b, c, d) {
            this.cd = a;
            this.am = c;
            this.aq = d;
            this.bn();
            this.al = window.setTimeout(igniteuiAngularCore.runOn(this, this.bz), this.ak);
            this.t = true;
        };
        XamBulletGraphView.prototype.az = function () {
            if (this.t) {
                window.clearTimeout(this.al);
                this.t = false;
            }
            if (this.u) {
                var a = this.m.toolTip;
                window.clearTimeout(this.aj);
                a.hide();
                this.u = false;
                this.k = null;
            }
            this.ak = this.m.c7;
        };
        XamBulletGraphView.prototype.bn = function () {
            if (this.t) {
                window.clearTimeout(this.al);
            }
            if (this.u) {
                var a = this.m.toolTip;
                window.clearTimeout(this.aj);
                a.hide();
                this.u = false;
                this.ak = igniteuiAngularCore.intDivide(this.m.c7, 2);
            }
        };
        XamBulletGraphView.prototype.bz = function () {
            var _this = this;
            if (this.t) {
                window.clearTimeout(this.al);
                this.t = false;
            }
            var a = this.am;
            var b = this.aq;
            var c = this.cd;
            if (this.ag != null) {
                this.aj = this.ag.setTimeout(igniteuiAngularCore.runOn(this, this.az), 10 * this.m.c7);
            }
            else {
                this.aj = window.setTimeout(igniteuiAngularCore.runOn(this, this.az), 10 * this.m.c7);
            }
            var d = this.m.ranges._inner[a];
            if (this.ah != this.m.toolTip) {
                if (this.ah != null) {
                    this.ah.remove();
                }
                this.ah = this.m.toolTip;
                this.ah.setStyleProperty("z-index", "10000");
                this.ah.setStyleProperty("position", "absolute");
                this.ag.append(this.ah);
            }
            this.k = this.j(b, a);
            var context_ = this.k;
            var tooltip_ = this.ah;
            var tooltipType_ = b;
            if (tooltip_.updateToolTip) {
                tooltip_.updateToolTip(context_, tooltipType_);
            }
            ;
            var e = this.ah.findByClass(".ui-tooltip-container");
            if (e != null && e.length > 0) {
                e[0].setAttribute("style", null);
            }
            var f = "ui-simple-default-tooltip-content";
            var g = this.ah.findByClass("." + f);
            if (g != null && g.length > 0) {
                var h = ["border-top-color", "border-top-width", "border-top-style", "border-top-left-radius", "background-color", "padding-top", "font-weight"];
                var i = ["border-color", "border-width", "border-style", "border-radius", "background-color", "padding", "font-weight"];
                var j = ((function () {
                    var $ret = new igniteuiAngularCore.List$1(igniteuiAngularCore.String_$type, 0);
                    $ret.add(_this.k.brush.color.colorString);
                    $ret.add("2px");
                    $ret.add("solid");
                    $ret.add("4px");
                    $ret.add("rgba(230, 230, 230, 0.74)");
                    $ret.add("4px");
                    $ret.add("bold");
                    return $ret;
                })());
                var k = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.String_$type, 0);
                var l = new Array(h.length);
                igniteuiAngularCore.arrayCopy1(h, 0, l, 0, h.length);
                this.b(f, l);
                for (var m = 0; m < l.length; m++) {
                    this.ah.setStyleProperty(i[m], (l[m] == null) ? j._inner[m] : l[m]);
                }
            }
            this.ah.setStyleProperty("top", (c.y + 15).toString() + "px").setStyleProperty("left", (c.x + 15).toString() + "px");
            this.ah.show();
            this.u = true;
        };
        XamBulletGraphView.prototype.j = function (a, b) {
            var c = new LinearGraphTooltipDataContext();
            switch (a) {
                case "range":
                    var d = this.m.ranges._inner[b];
                    c.item = d;
                    c.itemName = d.u;
                    c.label = d.u + ": " + d.o.toString() + "-" + d.j.toString();
                    var e = d.an;
                    var f = d.ao;
                    c.brush = e != null ? e : this.m.h3(b, this.c);
                    c.outline = f != null ? f : this.m.h3(b, this.d);
                    c.thickness = d.p;
                    break;
                case "value":
                    c.item = this.m.c1;
                    c.itemName = this.m.e4;
                    c.label = this.m.e4 != null ? this.m.e4 + ": " + this.m.c1.toString() : this.m.c1.toString();
                    c.brush = this.m.ia;
                    c.outline = this.m.ib;
                    c.thickness = this.m.c4;
                    break;
                case "targetvalue":
                    c.item = this.m.co;
                    c.itemName = this.m.en;
                    c.label = this.m.en != null ? this.m.en + ": " + this.m.co.toString() : this.m.co.toString();
                    c.brush = this.m.h7;
                    c.outline = this.m.h8;
                    c.thickness = this.m.cs;
                    break;
            }
            return c;
        };
        XamBulletGraphView.prototype.a6 = function (a) {
            if (a == null) {
                this.ai = null;
                this.ag = null;
                this.ah = null;
                this.p = null;
                if (this.m.a7) {
                    this.m.aw.w();
                }
                this.at();
                return;
            }
            var b = a;
            this.ag = b;
            this.m.aw.u(this.ag);
            this.ag.rootWrapper.addClass("ui-bulletgraph-container");
            this.ap = (igniteuiAngularCore.isNaN_(this.m.cf) ? this.m.bu : this.m.cf);
            var c = this.ap;
            var d = Math.round(b.rootWrapper.width());
            var e = Math.round(b.rootWrapper.height());
            var f = d * c;
            var g = e * c;
            this.ag.rootWrapper.setStyleProperty("position", "relative");
            var h = this.ag.createElement("canvas");
            h.setStyleProperty("position", "absolute");
            this.ag.append(h);
            this.ao = f;
            this.an = g;
            h.setAttribute("width", f.toString());
            h.setAttribute("height", g.toString());
            h.setStyleProperty("width", d.toString());
            h.setStyleProperty("height", e.toString());
            h.setStyleProperty("left", "0px");
            h.setStyleProperty("top", "0px");
            this.m.ij = new igniteuiAngularCore.Rect(0, 0, 0, d, e);
            this.m.ih = new igniteuiAngularCore.Rect(0, 0, 0, d, e);
            this.ai = h;
            var i = this.ag.get2DCanvasContext(this.ai);
            this.p = new igniteuiAngularCore.RenderingContext(new igniteuiAngularCore.CanvasViewRenderer(), i);
            this.ay();
            this.by();
            this.p.af(this.n);
            this.at();
            if (igniteuiAngularCore.TypeRegistrar.isRegistered("CanvasGestureDOMEventProxy")) {
                this.i = igniteuiAngularCore.typeCast(igniteuiAngularCore.EventProxy.$, igniteuiAngularCore.TypeRegistrar.create("CanvasGestureDOMEventProxy", this.ag.rootWrapper, this.ag, false));
            }
            if (this.i != null) {
                var j = this.i;
                j.onMouseOver = igniteuiAngularCore.delegateCombine(j.onMouseOver, igniteuiAngularCore.runOn(this, this.av));
                var k = this.i;
                k.onMouseLeave = igniteuiAngularCore.delegateCombine(k.onMouseLeave, igniteuiAngularCore.runOn(this, this.au));
            }
            this.bm();
        };
        XamBulletGraphView.prototype.at = function () {
            if (this.i != null) {
                var a = this.i;
                a.onMouseOver = igniteuiAngularCore.delegateRemove(a.onMouseOver, igniteuiAngularCore.runOn(this, this.av));
                var b = this.i;
                b.onMouseLeave = igniteuiAngularCore.delegateRemove(b.onMouseLeave, igniteuiAngularCore.runOn(this, this.au));
                this.i.aw();
            }
        };
        XamBulletGraphView.prototype.av = function (a, b, c) {
            if (this.m != null) {
                this.m.onMouseOver(a, b, c);
            }
        };
        XamBulletGraphView.prototype.au = function (a) {
            if (this.m != null) {
                this.m.onMouseLeave();
            }
        };
        XamBulletGraphView.prototype.a7 = function () {
            this.a0();
            var a = Math.round(this.ag.rootWrapper.width());
            var b = Math.round(this.ag.rootWrapper.height());
            this.m.ij = new igniteuiAngularCore.Rect(0, 0, 0, a, b);
            this.m.ih = new igniteuiAngularCore.Rect(0, 0, 0, a, b);
            if (this.i != null) {
                this.i.bm = this.m.ij;
            }
        };
        XamBulletGraphView.prototype.as = function () {
            this.bm();
        };
        XamBulletGraphView.prototype.bp = function (a) {
            this.x = a;
        };
        XamBulletGraphView.prototype.bm = function () {
            var a = this.m.ij.width;
            var b = this.m.ij.height;
            var c = a * this.ap;
            var d = b * this.ap;
            if (this.ao != c || this.an != d) {
                this.ai.setAttribute("width", c.toString());
                this.ai.setAttribute("height", d.toString());
                this.ai.setStyleProperty("width", a.toString() + "px");
                this.ai.setStyleProperty("height", b.toString() + "px");
                this.ao = igniteuiAngularCore.truncate(Math.round(c));
                this.an = igniteuiAngularCore.truncate(Math.round(d));
            }
            if (this.p.d && this.ap != 1) {
                this.p.aa();
                this.p.ab(this.ap, this.ap);
            }
            this.p.l(this.m.ij.left, this.m.ij.top, this.m.ij.width, this.m.ij.height);
            this.p.t(this.cf);
            this.p.t(this.ch);
            if (this.x != null) {
                for (var e = 0; e < this.x.count; e++) {
                    this.p.t(this.x._inner[e]);
                }
            }
            for (var f = 0; f < this.y.count; f++) {
                this.p.af(this.n);
                this.p.x(this.y._inner[f]);
            }
            for (var g = 0; g < this.z.count; g++) {
                this.p.t(this.z._inner[g]);
            }
            this.p.t(this.ck);
            this.p.t(this.cg);
            this.p.t(this.cj);
            if (this.p.d && this.ap != 1) {
                this.p.z();
            }
        };
        XamBulletGraphView.prototype.by = function () {
            if (this.m.di != null) {
                this.n = this.m.ax();
            }
            else {
                this.n = igniteuiAngularCore.FontUtil.getFont(this.ag);
            }
            this.ac = this.ad(this.n);
            if (this.m.h2 == null) {
                var a = this.ag.rootWrapper.getStyleProperty("color");
                if (igniteuiAngularCore.stringIsNullOrEmpty(a) == false) {
                    this.b2 = new igniteuiAngularCore.Brush();
                    this.b2._fill = a;
                    this.m.h2 = this.b2;
                }
            }
            if (this.p != null) {
                this.p.af(this.n);
            }
        };
        XamBulletGraphView.prototype.ae = function (a) {
            var b = igniteuiAngularCore.typeCast(igniteuiAngularCore.TextBlock.$, a);
            if (b != null && b.al != null) {
                return this.p.f(b) + 0;
            }
            return 0;
        };
        XamBulletGraphView.prototype.ct = function (a) {
            if (igniteuiAngularCore.isNaN_(this.ac)) {
                this.ac = this.ad(null);
            }
            var b = this.ae(a);
            var c = this.ac;
            return new igniteuiAngularCore.Size(1, b, c);
        };
        XamBulletGraphView.prototype.bq = function (a, b) {
            if (b != null) {
                a.ao = b;
            }
            else {
                a.ao = this.b3;
            }
        };
        XamBulletGraphView.prototype.bh = function (a, b, c) {
            a.n = b;
            a.o = c;
        };
        XamBulletGraphView.prototype.bg = function (a, b) {
        };
        XamBulletGraphView.prototype.bi = function (a, b) {
        };
        XamBulletGraphView.prototype.ad = function (a) {
            return igniteuiAngularCore.FontUtil.getCurrentFontHeight(this.ag, a);
        };
        XamBulletGraphView.prototype.bo = function () {
            if (!this.r) {
                this.r = true;
                if (this.ag != null) {
                    this.ag.setTimeout(igniteuiAngularCore.runOn(this, this.ar), 0);
                }
                else {
                    window.setTimeout(igniteuiAngularCore.runOn(this, this.ar), 0);
                }
            }
        };
        XamBulletGraphView.prototype.ar = function () {
            if (this.r) {
                this.r = false;
                this.m.fb();
            }
        };
        XamBulletGraphView.prototype.flush = function () {
            if (this.r) {
                this.ar();
            }
        };
        XamBulletGraphView.prototype.o = function (a, b) {
            return igniteuiAngularCore.FontUtil.getFontInfo(this.ag, a, b);
        };
        XamBulletGraphView.prototype.aw = function (a) {
            var e_3, _a, e_4, _b, e_5, _c;
            a.scalePath = new igniteuiAngularCore.PathVisualData(1, "Scale", this.ci);
            a.targetValuePath = new igniteuiAngularCore.PathVisualData(1, "TargetValue", this.cj);
            a.valuePath = new igniteuiAngularCore.PathVisualData(1, "Value", this.ck);
            a.highlightValuePath = new igniteuiAngularCore.PathVisualData(1, "HighlightValue", this.cg);
            a.backingPath = new igniteuiAngularCore.PathVisualData(1, "Backing", this.cf);
            a.scaleBackgroundPath = new igniteuiAngularCore.PathVisualData(1, "ScaleBackground", this.ch);
            var b = this.n;
            try {
                for (var _d = tslib.__values(igniteuiAngularCore.fromEnum(this.y)), _e = _d.next(); !_e.done; _e = _d.next()) {
                    var c = _e.value;
                    if (c._visibility == 0) {
                        var d = this.o(c, b);
                        var e = new LinearGraphScaleLabelVisualData();
                        e.labelValue = c.al;
                        e.labelPosition = igniteuiAngularCore.PointData.b({ $type: igniteuiAngularCore.Point_$type, x: c.n, y: c.o });
                        e.labelSize = igniteuiAngularCore.SizeData.b(this.ct(c));
                        e.appearance = igniteuiAngularCore.AppearanceHelper.c(c, d);
                        a.scaleLabels.add(e);
                    }
                }
            }
            catch (e_3_1) {
                e_3 = { error: e_3_1 };
            }
            finally {
                try {
                    if (_e && !_e.done && (_a = _d.return))
                        _a.call(_d);
                }
                finally {
                    if (e_3)
                        throw e_3.error;
                }
            }
            try {
                for (var _f = tslib.__values(igniteuiAngularCore.fromEnum(this.z)), _g = _f.next(); !_g.done; _g = _f.next()) {
                    var f = _g.value;
                    if (f._visibility == 0) {
                        var g = new LinearGraphScaleTickmarkVisualData();
                        g.tickPath = new igniteuiAngularCore.PathVisualData(1, "tickmarks", f);
                        a.scaleTickmarks.add(g);
                    }
                }
            }
            catch (e_4_1) {
                e_4 = { error: e_4_1 };
            }
            finally {
                try {
                    if (_g && !_g.done && (_b = _f.return))
                        _b.call(_f);
                }
                finally {
                    if (e_4)
                        throw e_4.error;
                }
            }
            try {
                for (var _h = tslib.__values(igniteuiAngularCore.fromEnum(this.x)), _j = _h.next(); !_j.done; _j = _h.next()) {
                    var h = _j.value;
                    if (h._visibility == 0) {
                        var i = new LinearGraphRangeVisualData();
                        var j = new igniteuiAngularCore.PathVisualData(1, "range", h);
                        i.rangePath = j;
                        a.ranges.add(i);
                    }
                }
            }
            catch (e_5_1) {
                e_5 = { error: e_5_1 };
            }
            finally {
                try {
                    if (_j && !_j.done && (_c = _h.return))
                        _c.call(_h);
                }
                finally {
                    if (e_5)
                        throw e_5.error;
                }
            }
        };
        XamBulletGraphView.prototype.bj = function (a) {
            a._visibility = 0;
        };
        XamBulletGraphView.prototype.bk = function (a) {
            a._visibility = 1;
        };
        XamBulletGraphView.prototype.bl = function (a) {
            this.aa.remove(a);
        };
        XamBulletGraphView.prototype.cs = function () {
            var a = new igniteuiAngularCore.Path();
            this.aa.add(a);
            return a;
        };
        XamBulletGraphView.prototype.bt = function (a) {
            a._visibility = 0;
        };
        XamBulletGraphView.prototype.bu = function (a) {
            a._visibility = 1;
        };
        XamBulletGraphView.prototype.bv = function (a) {
            this.ab.remove(a);
        };
        XamBulletGraphView.prototype.b1 = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.ab.add(a);
            return a;
        };
        XamBulletGraphView.prototype.bc = function (a) {
            a._visibility = 0;
        };
        XamBulletGraphView.prototype.bd = function (a) {
            a._visibility = 1;
        };
        XamBulletGraphView.prototype.be = function (a) {
            this.z.remove(a);
        };
        XamBulletGraphView.prototype.cr = function () {
            var a = new igniteuiAngularCore.Path();
            this.z.add(a);
            return a;
        };
        XamBulletGraphView.prototype.a1 = function (a) {
            a._visibility = 0;
        };
        XamBulletGraphView.prototype.a2 = function (a) {
            a._visibility = 1;
        };
        XamBulletGraphView.prototype.a3 = function (a) {
            this.y.remove(a);
        };
        XamBulletGraphView.prototype.b0 = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.y.add(a);
            return a;
        };
        XamBulletGraphView.prototype.l = function () {
            var _this = this;
            if (this.k == null) {
                return null;
            }
            return ((function () {
                var $ret = new ToolTipInfo();
                $ret.b = _this.am;
                $ret.d = _this.cd;
                $ret.c = _this.aq;
                $ret.a = _this.k;
                return $ret;
            })());
        };
        XamBulletGraphView.prototype.bf = function () {
            this.ap = this.m.bu;
        };
        XamBulletGraphView.$t = igniteuiAngularCore.markType(XamBulletGraphView, 'XamBulletGraphView');
        XamBulletGraphView.w = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Brush.$, 0);
        XamBulletGraphView.g = null;
        XamBulletGraphView.h = null;
        return XamBulletGraphView;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */

    var defaultFont = "Verdana, Arial, \"Segoe UI\", \"Myriad Pro\", sans-serif";
    var BulletGraphStylingDefaults = (function () {
        var BulletGraphStylingDefaults = {
            //"ui-bulletgraph-backing": {
            //    "background-color": "#ffffff",
            //    "border-color": "#ffffff"
            //},
            "ui-bulletgraph-targetvalue": {
                "background-color": "#333333",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-tick": {
                "background-color": "rgba(0, 0, 0, 0.35)",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-minortick": {
                "background-color": "rgba(0, 0, 0, 0.2)",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-label": {
                "background-color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill,
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-range-palette-1": {
                "background-color": "#0078C8",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-range-palette-2": {
                "background-color": "#0099FF",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-range-palette-3": {
                "background-color": "#21A7FF",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-range-palette-4": {
                "background-color": "#4FB9FF",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-range-palette-5": {
                "background-color": "#79C9FF",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph-value": {
                "background-color": "#333",
                "border-top-color": "transparent"
            },
            "ui-bulletgraph": {
                "font-family": igniteuiAngularCore.FontDefaults.gaugesFontFamily,
                "font-size": igniteuiAngularCore.FontDefaults.gaugesFontSize + "px",
                "color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill
            },
            "font-family": igniteuiAngularCore.FontDefaults.gaugesFontFamily,
            "font-style": "normal",
            "font-weight": igniteuiAngularCore.FontDefaults.gaugesFontWeight,
            "font-size": igniteuiAngularCore.FontDefaults.gaugesFontSize + "px",
            "color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill,
            "font-variant": "",
            "line-height": ""
        };
        return BulletGraphStylingDefaults;
    })();

    /*
    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.
    */
    /**
     * Represents event argument for FormatLinearGraphLabel.
    */
    var IgxFormatLinearGraphLabelEventArgs = /** @class */ /*@__PURE__*/ (function () {
        function IgxFormatLinearGraphLabelEventArgs() {
            this._implementation = this.createImplementation();
            this._implementation.externalObject = this;
            this.onImplementationCreated();
        }
        IgxFormatLinearGraphLabelEventArgs.prototype.createImplementation = function () {
            return new FormatLinearGraphLabelEventArgs();
        };
        Object.defineProperty(IgxFormatLinearGraphLabelEventArgs.prototype, "i", {
            get: function () {
                return this._implementation;
            },
            enumerable: false,
            configurable: true
        });
        IgxFormatLinearGraphLabelEventArgs.prototype.onImplementationCreated = function () {
        };
        IgxFormatLinearGraphLabelEventArgs.prototype._provideImplementation = function (i) {
            this._implementation = i;
            this._implementation.externalObject = this;
            this.onImplementationCreated();
        };
        Object.defineProperty(IgxFormatLinearGraphLabelEventArgs.prototype, "actualMinimumValue", {
            get: function () {
                return this.i.actualMinimumValue;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatLinearGraphLabelEventArgs.prototype, "actualMaximumValue", {
            get: function () {
                return this.i.actualMaximumValue;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatLinearGraphLabelEventArgs.prototype, "value", {
            get: function () {
                return this.i.value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatLinearGraphLabelEventArgs.prototype, "label", {
            get: function () {
                return this.i.label;
            },
            set: function (value) {
                this.i.label = value;
            },
            enumerable: false,
            configurable: true
        });
        return IgxFormatLinearGraphLabelEventArgs;
    }());

    /*
    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.
    */
    /**
     * Represents event argument for AlignLinearGraphLabel.
    */
    var IgxAlignLinearGraphLabelEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(IgxAlignLinearGraphLabelEventArgs, _super);
        function IgxAlignLinearGraphLabelEventArgs() {
            return _super.call(this) || this;
        }
        IgxAlignLinearGraphLabelEventArgs.prototype.createImplementation = function () {
            return new AlignLinearGraphLabelEventArgs();
        };
        Object.defineProperty(IgxAlignLinearGraphLabelEventArgs.prototype, "i", {
            get: function () {
                return this._implementation;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignLinearGraphLabelEventArgs.prototype, "width", {
            get: function () {
                return this.i.width;
            },
            set: function (value) {
                this.i.width = value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignLinearGraphLabelEventArgs.prototype, "height", {
            get: function () {
                return this.i.height;
            },
            set: function (value) {
                this.i.height = value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignLinearGraphLabelEventArgs.prototype, "offsetX", {
            get: function () {
                return this.i.offsetX;
            },
            set: function (value) {
                this.i.offsetX = value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignLinearGraphLabelEventArgs.prototype, "offsetY", {
            get: function () {
                return this.i.offsetY;
            },
            set: function (value) {
                this.i.offsetY = value;
            },
            enumerable: false,
            configurable: true
        });
        return IgxAlignLinearGraphLabelEventArgs;
    }(IgxFormatLinearGraphLabelEventArgs));

    /*
    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.
    */
    var IgxLinearGraphRangeComponent = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGraphRangeComponent() {
            this._renderer = null;
            this.__p = null;
            this._hasUserValues = new Set();
            this._stylingContainer = null;
            this._stylingParent = null;
            this._inStyling = false;
            this._zoneRunner = null;
            this._implementation = this.createImplementation();
            this._implementation.externalObject = this;
            this.onImplementationCreated();
        }
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "i", {
            get: function () {
                return this._implementation;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGraphRangeComponent.prototype.onImplementationCreated = function () {
        };
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "rangeInternal", {
            get: function () {
                return this.i;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGraphRangeComponent.prototype.createImplementation = function () {
            return new XamLinearGraphRange();
        };
        IgxLinearGraphRangeComponent.prototype.ngOnInit = function () {
        };
        IgxLinearGraphRangeComponent.prototype._provideRenderer = function (renderer) {
            this._renderer = renderer;
            this._zoneRunner = function (act) { return renderer._ngZone.run(act); };
        };
        IgxLinearGraphRangeComponent._createFromInternal = function (internal) {
            if (!internal) {
                return null;
            }
            if (!internal.$type) {
                return null;
            }
            var name = internal.$type.name;
            var externalName = "Igx" + name + "Component";
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered(externalName)) {
                return null;
            }
            return igniteuiAngularCore.TypeRegistrar.create(externalName);
        };
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "name", {
            /**
         * Gets or sets the name of the range.
        */
            get: function () {
                return this.i.u;
            },
            set: function (v) {
                this.i.u = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "brush", {
            /**
             * Gets or sets the brush to use to fill the range.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.an);
            },
            set: function (v) {
                this.i.an = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "outline", {
            /**
             * Gets or sets the outline to use when rendering the range.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ao);
            },
            set: function (v) {
                this.i.ao = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "startValue", {
            /**
             * Gets or sets the value at which the range starts along the scale.
            */
            get: function () {
                return this.i.o;
            },
            set: function (v) {
                this.i.o = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "endValue", {
            /**
             * Gets or sets the value at which the range ends along the scale.
            */
            get: function () {
                return this.i.j;
            },
            set: function (v) {
                this.i.j = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "innerStartExtent", {
            /**
             * Gets or sets the distance measured from the front/bottom of the bullet graph (from 0 to 1) at which to start rendering the inner edge of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal width/height of the bullet graph.
            */
            get: function () {
                return this.i.l;
            },
            set: function (v) {
                this.i.l = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "innerEndExtent", {
            /**
             * Gets or sets the distance measured from the front/bottom of the bullet graph (from 0 to 1) at which to end rendering the inner edge of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal width/height of the bullet graph.
            */
            get: function () {
                return this.i.k;
            },
            set: function (v) {
                this.i.k = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "outerStartExtent", {
            /**
             * Gets or sets the distance measured from the front/bottom of the bullet graph (from 0 to 1) at which to start rendering the outer edge of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal width/height of the bullet graph.
            */
            get: function () {
                return this.i.n;
            },
            set: function (v) {
                this.i.n = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "outerEndExtent", {
            /**
             * Gets or sets the distance measured from the front/bottom of the bullet graph (from 0 to 1) at which to end rendering the outer edge of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal width/height of the bullet graph.
            */
            get: function () {
                return this.i.m;
            },
            set: function (v) {
                this.i.m = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "strokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering this range's outline.
            */
            get: function () {
                return this.i.p;
            },
            set: function (v) {
                this.i.p = +v;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGraphRangeComponent.prototype.findByName = function (name) {
            if (this.findEphemera) {
                if (name && name.indexOf("@@e:") == 0) {
                    return this.findEphemera(name);
                }
            }
            return null;
        };
        Object.defineProperty(IgxLinearGraphRangeComponent.prototype, "hasUserValues", {
            get: function () {
                return this._hasUserValues;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGraphRangeComponent.prototype.__m = function (propertyName) {
            if (!this._inStyling) {
                this._hasUserValues.add(propertyName);
            }
        };
        IgxLinearGraphRangeComponent.prototype._styling = function (container, component, parent) {
            if (this._inStyling) {
                return;
            }
            this._inStyling = true;
            this._stylingContainer = container;
            this._stylingParent = component;
            var genericPrefix = "";
            var typeName = this.i.$type.name;
            if (typeName.indexOf("Xam") === 0) {
                typeName = typeName.substring(3);
            }
            genericPrefix = igniteuiAngularCore.toSpinal("LinearGraphRangeComponent");
            var additionalPrefixes = [];
            var prefix = igniteuiAngularCore.toSpinal(typeName);
            additionalPrefixes.push(prefix + "-");
            var b = this.i.$type.baseType;
            while (b && b.name != "Object" &&
                b.name != "Base" &&
                b.name != "Control" &&
                b.Name != "DependencyObject" &&
                b.Name != "FrameworkElement") {
                typeName = b.name;
                if (typeName.indexOf("Xam") === 0) {
                    typeName = typeName.substring(3);
                }
                var basePrefix = igniteuiAngularCore.toSpinal(typeName);
                additionalPrefixes.push(basePrefix + "-");
                b = b.baseType;
            }
            if (parent) {
                var parentTypeName = parent.i.$type.name;
                if (parentTypeName.indexOf("Xam") === 0) {
                    parentTypeName = parentTypeName.substring(3);
                }
                var parentPrefix = igniteuiAngularCore.toSpinal(parentTypeName);
                additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
                additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
            }
            igniteuiAngularCore.initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
            if (this._otherStyling) {
                this._otherStyling(container, component, parent);
            }
            this._inStyling = false;
        };
        IgxLinearGraphRangeComponent.prototype._runInZone = function (act) {
            if (this._zoneRunner != null) {
                this._zoneRunner(act);
            }
            else {
                act();
            }
        };
        IgxLinearGraphRangeComponent.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeComponent, deps: [], target: i0["ɵɵFactoryTarget"].Component });
        IgxLinearGraphRangeComponent.ɵcmp = i0["ɵɵngDeclareComponent"]({ minVersion: "12.0.0", version: "12.2.17", type: IgxLinearGraphRangeComponent, selector: "igx-linear-graph-range", inputs: { name: "name", brush: "brush", outline: "outline", startValue: "startValue", endValue: "endValue", innerStartExtent: "innerStartExtent", innerEndExtent: "innerEndExtent", outerStartExtent: "outerStartExtent", outerEndExtent: "outerEndExtent", strokeThickness: "strokeThickness" }, providers: [], ngImport: i0, template: "", isInline: true });
        return IgxLinearGraphRangeComponent;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'igx-linear-graph-range',
                        template: "",
                        providers: []
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { name: [{
                    type: i0.Input
                }], brush: [{
                    type: i0.Input
                }], outline: [{
                    type: i0.Input
                }], startValue: [{
                    type: i0.Input
                }], endValue: [{
                    type: i0.Input
                }], innerStartExtent: [{
                    type: i0.Input
                }], innerEndExtent: [{
                    type: i0.Input
                }], outerStartExtent: [{
                    type: i0.Input
                }], outerEndExtent: [{
                    type: i0.Input
                }], strokeThickness: [{
                    type: i0.Input
                }] } });

    var IgxLinearGraphRangeCollection = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(IgxLinearGraphRangeCollection, _super);
        function IgxLinearGraphRangeCollection(list) {
            var _this = _super.call(this) || this;
            if (!IgxLinearGraphRangeComponent.$type) {
                IgxLinearGraphRangeComponent.$type = igniteuiAngularCore.markType(IgxLinearGraphRangeComponent, "IgxLinearGraphRangeComponent");
            }
            if (list) {
                for (var i = 0; i < list.length; i++) {
                    _this.add(list[i]);
                }
            }
            return _this;
        }
        IgxLinearGraphRangeCollection.prototype._createInnerColl = function () {
            if (!IgxLinearGraphRangeComponent.$type) {
                IgxLinearGraphRangeComponent.$type = igniteuiAngularCore.markType(IgxLinearGraphRangeComponent, "IgxLinearGraphRangeComponent");
            }
            var coll = new igniteuiAngularCore.SyncableObservableCollection$2(IgxLinearGraphRangeComponent.$type, XamLinearGraphRange.$type, 0);
            coll.compare = function (ext, int) {
                var comp = ext;
                if (comp._implementation) {
                    comp = comp._implementation;
                }
                if (comp.equals) {
                    return comp.equals(int);
                }
                return comp === int;
            };
            coll.createTo = function (ext) {
                return ext._implementation;
            };
            coll.createFrom = function (int) {
                var ext = int.externalObject;
                if (!ext) {
                    ext = IgxLinearGraphRangeComponent._createFromInternal(int);
                    if (ext) {
                        if (!int.$type && ext._implementation.setNativeElement) {
                            ext._implementation.setNativeElement(int);
                        }
                        else {
                            ext._implementation = int;
                        }
                    }
                }
                return ext;
            };
            return coll;
        };
        return IgxLinearGraphRangeCollection;
    }(igniteuiAngularCore.IgCollection));

    /*
    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.
    */
    /**
     * Represents a bullet graph.
    */
    var IgxBulletGraphComponent = /** @class */ /*@__PURE__*/ (function () {
        function IgxBulletGraphComponent(_renderer, _elRef, _ngZone, _componentFactoryResolver, _injector) {
            //super();
            var _this = this;
            this._renderer = _renderer;
            this._elRef = _elRef;
            this._ngZone = _ngZone;
            this._componentFactoryResolver = _componentFactoryResolver;
            this._injector = _injector;
            /**
            * The ranges actually present in the chart. Do not directly modify this array.
            * This array's contents can be modified by causing Angular to reproject the child content.
            * Or adding and removing ranges from the manual ranges collection on the ranges property.
            */
            this.actualRanges = [];
            this._ranges = null;
            this._rangesAdapter = null;
            this._tooltipTemplate = null;
            this._tooltipContent = null;
            this._defaultTooltips = null;
            this._zoneRunner = null;
            this.__p = null;
            this._hasUserValues = new Set();
            this._stylingContainer = null;
            this._stylingParent = null;
            this._inStyling = false;
            this._formatLabel = null;
            this._alignLabel = null;
            this._actualMinimumValueChange = null;
            this._actualMaximumValueChange = null;
            if (this._styling) {
                igniteuiAngularCore.NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
            }
            this._zoneRunner = function (act) { return _this._ngZone.run(act); };
            this._implementation = this.createImplementation();
            this._container = _renderer.createElement("div");
            _renderer.appendChild(_elRef.element.nativeElement, this._container);
            _renderer.setStyle(this._container, "display", "block");
            _renderer.setStyle(this._container, "width", "100%");
            _renderer.setStyle(this._container, "height", "100%");
            var root;
            root = this._container;
            if (this._container.nativeElement != null) {
                root = this._container.nativeElement;
            }
            this._root = root;
            var ren = new igniteuiAngularCore.AngularRenderer(root, this._renderer, window.document, this._ngZone, true, BulletGraphStylingDefaults);
            this._wrapper = ren;
            var gauge = this.i;
            this._rangesAdapter = new igniteuiAngularCore.CollectionAdapter([], this.i.ranges, this.actualRanges, function (c) { return c.i; }, function (i) {
                i._provideRenderer(_this._wrapper);
                if (_this._root && _this._root.parentElement) {
                    i._styling(_this._root, _this, _this);
                }
            }, function (i) { i._provideRenderer(null); });
            this._gauge = gauge;
            gauge.provideContainer(ren);
            ren.addSizeWatcher(function () {
                _this._gauge.containerResized();
            });
        }
        Object.defineProperty(IgxBulletGraphComponent.prototype, "height", {
            get: function () {
                return this._height;
            },
            set: function (value) {
                this._height = value;
                this._renderer.setStyle(this._elRef.element.nativeElement, "height", value);
                this._gauge.containerResized();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "width", {
            get: function () {
                return this._width;
            },
            set: function (value) {
                this._width = value;
                this._renderer.setStyle(this._elRef.element.nativeElement, "width", value);
                this._gauge.containerResized();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "ranges", {
            /**
             * A collection or manually added axes for the chart.
            */
            get: function () {
                var _this = this;
                if (this._ranges === null) {
                    var coll = new IgxLinearGraphRangeCollection();
                    var inner = coll._innerColl;
                    inner.addListener(function (sender, e) {
                        switch (e.action) {
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Add:
                                _this._rangesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Remove:
                                _this._rangesAdapter.removeManualItemAt(e.oldStartingIndex);
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Replace:
                                _this._rangesAdapter.removeManualItemAt(e.oldStartingIndex);
                                _this._rangesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Reset:
                                _this._rangesAdapter.clearManualItems();
                                break;
                        }
                    });
                    this._ranges = coll;
                }
                return this._ranges;
            },
            enumerable: false,
            configurable: true
        });
        IgxBulletGraphComponent.prototype.ngOnDestroy = function () {
            this._wrapper.rootWrapper.unlistenAll();
            this._gauge.destroy();
            this._wrapper.destroy();
        };
        IgxBulletGraphComponent.prototype.createImplementation = function () {
            return new XamBulletGraph();
        };
        IgxBulletGraphComponent.prototype.ngAfterContentInit = function () {
            var _this = this;
            if (igniteuiAngularCore.TypeRegistrar.isRegistered("IgxSimpleDefaultTooltipComponent")) {
                var c = igniteuiAngularCore.TypeRegistrar.get("IgxSimpleDefaultTooltipComponent");
                var cf = this._componentFactoryResolver.resolveComponentFactory(c);
                var cr_1 = this._dynamicContent.createComponent(cf);
                this._defaultTooltips = cr_1;
                cr_1.instance.onContentReady.subscribe(function () {
                    _this._onDefaultTooltipsReady(cr_1);
                });
                this._ensureTooltipCreated();
            }
            this._rangesAdapter.updateQuery(this.contentRanges);
        };
        IgxBulletGraphComponent.prototype.ngAfterViewInit = function () {
            this.updateStyle();
            this.i.containerResized();
        };
        IgxBulletGraphComponent.prototype.updateStyle = function () {
            this._styling(this._root, this);
            if (this.actualRanges && this.actualRanges.length > 0) {
                var currRange = this.actualRanges;
                for (var i = 0; i < currRange.length; i++) {
                    currRange[i]._styling(this._root, this, this);
                }
            }
        };
        Object.defineProperty(IgxBulletGraphComponent.prototype, "tooltipTemplate", {
            get: function () {
                return this._tooltipTemplate;
            },
            set: function (value) {
                this._tooltipTemplate = value;
                if (value == null) {
                    if (this._tooltipContent !== null) {
                        this._tooltipContent.destroy();
                        this._tooltipContent = null;
                    }
                }
                if (this._tooltipContent != null) {
                    this._tooltipContent.instance.template = this._tooltipTemplate;
                }
                else {
                    this._ensureTooltipCreated();
                }
            },
            enumerable: false,
            configurable: true
        });
        IgxBulletGraphComponent.prototype._ensureTooltipCreated = function () {
            if (this.i.toolTip == null) {
                var tooltip = this.createTooltip();
                if (tooltip == null) {
                    return;
                }
                this._tooltipContent = tooltip;
                tooltip.instance.template = this._tooltipTemplate;
                this.i.toolTip = this.createWrapper(tooltip.location.nativeElement);
            }
        };
        IgxBulletGraphComponent.prototype.createWrapper = function (ele) {
            var wrapper = new igniteuiAngularCore.AngularWrapper(ele, this._renderer, this._ngZone);
            wrapper.updateToolTip = ele.updateToolTip;
            wrapper.hideToolTip = ele.hideToolTip;
            return wrapper;
        };
        IgxBulletGraphComponent.prototype._ensureDefaultTooltip = function () {
            if (this._defaultTooltips == null) {
                return;
            }
            this._defaultTooltips.instance["ensureDefaultTooltip"](this);
        };
        IgxBulletGraphComponent.prototype._onDefaultTooltipsReady = function (cr) {
            this._ensureDefaultTooltip();
        };
        IgxBulletGraphComponent.prototype.createTooltip = function () {
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered("IgxTooltipContainerComponent")) {
                return null;
            }
            var t = igniteuiAngularCore.TypeRegistrar.get("IgxTooltipContainerComponent");
            var cf = this._componentFactoryResolver.resolveComponentFactory(t);
            var cr = this._dynamicContent.createComponent(cf);
            var ele = cr.location.nativeElement;
            var self = this;
            ele.updateToolTip = function (c) {
                if (c.externalObject) {
                    c = c.externalObject;
                }
                else {
                    var ext = new igniteuiAngularCore.IgxDataContext();
                    ext._implementation = c;
                    c = ext;
                }
                if (ele.parentElement != self._container) {
                    if (ele.parentElement != null) {
                        ele.parentElement.removeChild(ele);
                    }
                    self._container.appendChild(ele);
                }
                cr.instance.context = c;
                ele.style.display = "block";
                return true;
            };
            ele.hideToolTip = function () {
                ele.style.display = "none";
            };
            ele.style.display = "none";
            return cr;
        };
        IgxBulletGraphComponent.prototype._runInZone = function (act) {
            if (this._zoneRunner != null) {
                this._zoneRunner(act);
            }
            else {
                act();
            }
        };
        Object.defineProperty(IgxBulletGraphComponent.prototype, "i", {
            /**
             * @hidden
             */
            get: function () {
                return this._implementation;
            } /**
                                         * @hidden
                                         */,
            enumerable: false,
            configurable: true
        });
        IgxBulletGraphComponent._createFromInternal = function (internal) {
            if (!internal) {
                return null;
            }
            if (!internal.$type) {
                return null;
            }
            var name = internal.$type.name;
            var externalName = "Igx" + name + "Component";
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered(externalName)) {
                return null;
            }
            return igniteuiAngularCore.TypeRegistrar.create(externalName);
        };
        Object.defineProperty(IgxBulletGraphComponent.prototype, "animating", {
            /**
         * Gets a value indicating whether the bullet graph is currently animating.
        */
            get: function () {
                return this.i.a7;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "transitionProgress", {
            /**
             * Gets the transition progress of the animation when the control is animating.
            */
            get: function () {
                return this.i.c0;
            },
            set: function (v) {
                this.i.c0 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "orientation", {
            /**
             * Gets or sets the orientation of the scale.
            */
            get: function () {
                return this.i.as;
            },
            set: function (v) {
                this.i.as = igniteuiAngularCore.ensureEnum(LinearScaleOrientation_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "scaleBackgroundBrush", {
            /**
             * Gets or sets the background brush for the scale.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h5);
            },
            set: function (v) {
                this.i.h5 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "scaleBackgroundOutline", {
            /**
             * Gets or sets the background outline for the scale.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h6);
            },
            set: function (v) {
                this.i.h6 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "scaleBackgroundThickness", {
            /**
             * Gets or sets the background outline thickness for the scale.
            */
            get: function () {
                return this.i.ci;
            },
            set: function (v) {
                this.i.ci = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "rangeBrushes", {
            /**
             * Gets or sets a collection of brushes to be used as the palette for bullet graph ranges.
            */
            get: function () {
                return igniteuiAngularCore.fromBrushCollection(this.i.ah);
            },
            set: function (v) {
                this.i.ah = igniteuiAngularCore.toBrushCollection(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "rangeOutlines", {
            /**
             * Gets or sets a collection of brushes to be used as the palette for bullet graph outlines.
            */
            get: function () {
                return igniteuiAngularCore.fromBrushCollection(this.i.ai);
            },
            set: function (v) {
                this.i.ai = igniteuiAngularCore.toBrushCollection(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "minimumValue", {
            /**
             * Gets or sets the minimum value of the scale.
            */
            get: function () {
                return this.i.b8;
            },
            set: function (v) {
                this.i.b8 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualMinimumValue", {
            /**
             * Gets the resolved minimum value of the scale.
            */
            get: function () {
                return this.i.bt;
            },
            set: function (v) {
                this.i.bt = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "maximumValue", {
            /**
             * Gets or sets the maximum value of the scale.
            */
            get: function () {
                return this.i.b7;
            },
            set: function (v) {
                this.i.b7 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualMaximumValue", {
            /**
             * Gets the resolved maximum value of the scale.
            */
            get: function () {
                return this.i.bs;
            },
            set: function (v) {
                this.i.bs = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValue", {
            /**
             * Gets or sets the value indicated by the target value bar.
            */
            get: function () {
                return this.i.co;
            },
            set: function (v) {
                this.i.co = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueName", {
            /**
             * Gets or sets the name used for the target value. The name is displayed in the default target value tooltip.
            */
            get: function () {
                return this.i.en;
            },
            set: function (v) {
                this.i.en = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "value", {
            /**
             * Gets or sets the value at which the bar ends.
            */
            get: function () {
                return this.i.c1;
            },
            set: function (v) {
                this.i.c1 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "valueName", {
            /**
             * Gets or sets the name used for actual value.
            */
            get: function () {
                return this.i.e4;
            },
            set: function (v) {
                this.i.e4 = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "highlightValue", {
            /**
             * Gets or sets the highlight value at which to point the secondary needle of the gauge.
            */
            get: function () {
                return this.i.b0;
            },
            set: function (v) {
                this.i.b0 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualHighlightValueOpacity", {
            /**
             * Gets the actual opacity of the primary needle while highlighting
            */
            get: function () {
                return this.i.br;
            },
            set: function (v) {
                this.i.br = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "highlightValueOpacity", {
            /**
             * Gets or sets the opacity of the primary needle while highlighting
            */
            get: function () {
                return this.i.b1;
            },
            set: function (v) {
                this.i.b1 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualHighlightValueDisplayMode", {
            /**
             * Gets whether and how to display the highlighted value.
            */
            get: function () {
                return this.i.az;
            },
            set: function (v) {
                this.i.az = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.HighlightedValueDisplayMode_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "highlightValueDisplayMode", {
            /**
             * Gets or sets whether and how to display the highlighted value.
            */
            get: function () {
                return this.i.a0;
            },
            set: function (v) {
                this.i.a0 = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.HighlightedValueDisplayMode_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "rangeInnerExtent", {
            /**
             * Gets or sets the position at which to start rendering the ranges, measured from the front/bottom of the control as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.cg;
            },
            set: function (v) {
                this.i.cg = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "rangeOuterExtent", {
            /**
             * Gets or sets the position at which to stop rendering the range as a value from 0 to 1 measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.ch;
            },
            set: function (v) {
                this.i.ch = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "valueInnerExtent", {
            /**
             * Gets or sets the position at which to start rendering the actual value geometries, measured from the front/bottom of the bullet graph as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.c2;
            },
            set: function (v) {
                this.i.c2 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "valueOuterExtent", {
            /**
             * Gets or sets the position at which to stop rendering the actual value geometries as a value from 0 to 1 measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.c3;
            },
            set: function (v) {
                this.i.c3 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "interval", {
            /**
             * Gets or sets the interval to use for the scale.
            */
            get: function () {
                return this.i.b2;
            },
            set: function (v) {
                this.i.b2 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "ticksPostInitial", {
            /**
             * A value to start adding tickmarks, added to the scale's MinimumValue.
            */
            get: function () {
                return this.i.cv;
            },
            set: function (v) {
                this.i.cv = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "ticksPreTerminal", {
            /**
             * A value to stop adding tickmarks, subtracted from the scale's MaximumValue.
            */
            get: function () {
                return this.i.cw;
            },
            set: function (v) {
                this.i.cw = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelInterval", {
            /**
             * Gets or sets the interval to use for rendering labels. This defaults to be the same interval as the tickmarks on the scale.
            */
            get: function () {
                return this.i.b4;
            },
            set: function (v) {
                this.i.b4 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelExtent", {
            /**
             * Gets or sets the position at which to put the labels as a value from 0 to 1, measured from the bottom of the scale.
             * Values further from zero than 1 can be used to hide the labels of the bullet graph.
            */
            get: function () {
                return this.i.b3;
            },
            set: function (v) {
                this.i.b3 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelsPostInitial", {
            /**
             * A value to start adding labels, added to the scale's MinimumValue.
            */
            get: function () {
                return this.i.b5;
            },
            set: function (v) {
                this.i.b5 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelsPreTerminal", {
            /**
             * A value to stop adding labels, subtracted from the scale's MaximumValue.
            */
            get: function () {
                return this.i.b6;
            },
            set: function (v) {
                this.i.b6 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "minorTickCount", {
            /**
             * Gets or sets the number of minor tickmarks to place between major tickmarks.
            */
            get: function () {
                return this.i.b9;
            },
            set: function (v) {
                this.i.b9 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "tickStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the major tickmarks as a value from 0 to 1, measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.cx;
            },
            set: function (v) {
                this.i.cx = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "tickEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the major tickmarks as a value from 0 to 1, measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.ct;
            },
            set: function (v) {
                this.i.ct = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "tickStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering ticks.
            */
            get: function () {
                return this.i.cz;
            },
            set: function (v) {
                this.i.cz = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "tickBrush", {
            /**
             * Gets or sets the brush to use for the major tickmarks.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h9);
            },
            set: function (v) {
                this.i.h9 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "fontBrush", {
            /**
             * Gets or sets the brush to use for the label font.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h2);
            },
            set: function (v) {
                this.i.h2 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "valueBrush", {
            /**
             * Gets or sets the brush to use for the actual value element.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ia);
            },
            set: function (v) {
                this.i.ia = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "valueOutline", {
            /**
             * Gets or sets the brush to use for the outline of actual value element.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ib);
            },
            set: function (v) {
                this.i.ib = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "valueStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering single actual value element.
            */
            get: function () {
                return this.i.c4;
            },
            set: function (v) {
                this.i.c4 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "minorTickStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the minor tickmarks as a value from 0 to 1, measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.cc;
            },
            set: function (v) {
                this.i.cc = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "minorTickEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the minor tickmarks as a value from 0 to 1, measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.ca;
            },
            set: function (v) {
                this.i.ca = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "minorTickStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering minor ticks.
            */
            get: function () {
                return this.i.ce;
            },
            set: function (v) {
                this.i.ce = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "minorTickBrush", {
            /**
             * Gets or sets the brush to use for the minor tickmarks.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h4);
            },
            set: function (v) {
                this.i.h4 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "isScaleInverted", {
            /**
             * Gets or sets a value indicating whether the scale is inverted.
             * When the scale is inverted the direction in which the scale values increase is right to left.
            */
            get: function () {
                return this.i.a9;
            },
            set: function (v) {
                this.i.a9 = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "backingBrush", {
            /**
             * Gets or sets the brush to use to fill the backing of the bullet graph.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h0);
            },
            set: function (v) {
                this.i.h0 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "backingOutline", {
            /**
             * Gets or sets the brush to use for the outline of the backing.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h1);
            },
            set: function (v) {
                this.i.h1 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "backingStrokeThickness", {
            /**
             * Gets or sets the stroke thickness of the backing outline.
            */
            get: function () {
                return this.i.bx;
            },
            set: function (v) {
                this.i.bx = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "backingInnerExtent", {
            /**
             * Gets or sets the inner extent of the bullet graph backing.
            */
            get: function () {
                return this.i.bv;
            },
            set: function (v) {
                this.i.bv = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "backingOuterExtent", {
            /**
             * Gets or sets the outer extent of the bullet graph backing.
            */
            get: function () {
                return this.i.bw;
            },
            set: function (v) {
                this.i.bw = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "scaleStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the scale, measured from the front/bottom of the bullet graph as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.cn;
            },
            set: function (v) {
                this.i.cn = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "scaleEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the scale as a value from 0 to 1, measured from the front/bottom of the bullet graph.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.ck;
            },
            set: function (v) {
                this.i.ck = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueBrush", {
            /**
             * Gets or sets the brush to use when rendering the fill of the comparative marker.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h7);
            },
            set: function (v) {
                this.i.h7 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueBreadth", {
            /**
             * Get or sets the breadth of the target value element.
            */
            get: function () {
                return this.i.cp;
            },
            set: function (v) {
                this.i.cp = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueInnerExtent", {
            /**
             * Gets or sets the position at which to start rendering the target value, measured from the front/bottom of the control as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.cq;
            },
            set: function (v) {
                this.i.cq = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueOuterExtent", {
            /**
             * Gets or sets the position at which to start rendering the target value, measured from the front/bottom of the control as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the bullet graph.
            */
            get: function () {
                return this.i.cr;
            },
            set: function (v) {
                this.i.cr = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueOutline", {
            /**
             * Gets or sets the brush to use when rendering the outline of the target value.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.h8);
            },
            set: function (v) {
                this.i.h8 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "targetValueStrokeThickness", {
            /**
             * Gets or sets the stroke thickness of the outline of the target value bar.
            */
            get: function () {
                return this.i.cs;
            },
            set: function (v) {
                this.i.cs = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "mergeViewports", {
            /**
             * Gets or sets whether the scale viewport will be merged with backing viewport.
            */
            get: function () {
                return this.i.bc;
            },
            set: function (v) {
                this.i.bc = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelsVisible", {
            /**
             * Gets or sets whether the labels are visible in the gauge.
            */
            get: function () {
                return this.i.bb;
            },
            set: function (v) {
                this.i.bb = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelFormat", {
            /**
             * Gets or sets the label composite format used when creating label values.
            */
            get: function () {
                return this.i.ds;
            },
            set: function (v) {
                this.i.ds = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "labelFormatSpecifiers", {
            /**
             * Gets or sets the format specifiers to use with the LabelFormat string.
            */
            get: function () {
                return this.i.ag;
            },
            set: function (v) {
                if (v && !Array.isArray(v) && typeof (v) == "string") {
                    var re = /\s*(?:,|\s|$)\s*/gm;
                    v = v.split(re);
                }
                this.i.ag = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "transitionDuration", {
            /**
             * Gets or sets the number of milliseconds over which changes to the bullet graph should be animated.
            */
            get: function () {
                return this.i.c8;
            },
            set: function (v) {
                this.i.c8 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "showToolTipTimeout", {
            /**
             * Gets or sets the time in milliseconds that tooltip appearance is delayed with.
            */
            get: function () {
                return this.i.c7;
            },
            set: function (v) {
                this.i.c7 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "showToolTip", {
            /**
             * Gets or sets a value indicating whether tooltips are enabled.
            */
            get: function () {
                return this.i.be;
            },
            set: function (v) {
                this.i.be = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "font", {
            /**
             * Gets or sets the font.
            */
            get: function () {
                return this.i.di;
            },
            set: function (v) {
                this.i.di = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "pixelScalingRatio", {
            /**
             * Gets or sets the scaling value used to affect the pixel density of the control.
             * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
             * to appear blurry.
            */
            get: function () {
                return this.i.cf;
            },
            set: function (v) {
                this.i.cf = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualPixelScalingRatio", {
            /**
             * Gets the actual pixel scaling ratio used to affect the pixel density of the control.
             * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
             * to appear blurry.
            */
            get: function () {
                return this.i.bu;
            },
            set: function (v) {
                this.i.bu = +v;
            },
            enumerable: false,
            configurable: true
        });
        IgxBulletGraphComponent.prototype.findByName = function (name) {
            if (this.findEphemera) {
                if (name && name.indexOf("@@e:") == 0) {
                    return this.findEphemera(name);
                }
            }
            if (this.ranges != null && this.ranges.findByName && this.ranges.findByName(name)) {
                return this.ranges.findByName(name);
            }
            if (this.labelFormatSpecifiers != null && igniteuiAngularCore.arrayFindByName(this.labelFormatSpecifiers, name)) {
                return igniteuiAngularCore.arrayFindByName(this.labelFormatSpecifiers, name);
            }
            return null;
        };
        Object.defineProperty(IgxBulletGraphComponent.prototype, "hasUserValues", {
            get: function () {
                return this._hasUserValues;
            },
            enumerable: false,
            configurable: true
        });
        IgxBulletGraphComponent.prototype.__m = function (propertyName) {
            if (!this._inStyling) {
                this._hasUserValues.add(propertyName);
            }
        };
        IgxBulletGraphComponent.prototype._styling = function (container, component, parent) {
            if (this._inStyling) {
                return;
            }
            this._inStyling = true;
            this._stylingContainer = container;
            this._stylingParent = component;
            var genericPrefix = "";
            var typeName = this.i.$type.name;
            if (typeName.indexOf("Xam") === 0) {
                typeName = typeName.substring(3);
            }
            genericPrefix = igniteuiAngularCore.toSpinal("BulletGraphComponent");
            var additionalPrefixes = [];
            var prefix = igniteuiAngularCore.toSpinal(typeName);
            additionalPrefixes.push(prefix + "-");
            var b = this.i.$type.baseType;
            while (b && b.name != "Object" &&
                b.name != "Base" &&
                b.name != "Control" &&
                b.Name != "DependencyObject" &&
                b.Name != "FrameworkElement") {
                typeName = b.name;
                if (typeName.indexOf("Xam") === 0) {
                    typeName = typeName.substring(3);
                }
                var basePrefix = igniteuiAngularCore.toSpinal(typeName);
                additionalPrefixes.push(basePrefix + "-");
                b = b.baseType;
            }
            if (parent) {
                var parentTypeName = parent.i.$type.name;
                if (parentTypeName.indexOf("Xam") === 0) {
                    parentTypeName = parentTypeName.substring(3);
                }
                var parentPrefix = igniteuiAngularCore.toSpinal(parentTypeName);
                additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
                additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
            }
            igniteuiAngularCore.initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
            if (this._otherStyling) {
                this._otherStyling(container, component, parent);
            }
            this._inStyling = false;
        };
        /**
     * Gets the value for the main scale of the bullet graph for a given point within the bounds of the bullet graph.

    * @param point  * The point for which to retrieve the associated value.
    */
        IgxBulletGraphComponent.prototype.getValueForPoint = function (point) {
            var iv = this.i.bz(igniteuiAngularCore.toPoint(point));
            return (iv);
        };
        /**
         * Returns visuals as a serialized string.
        
        */
        IgxBulletGraphComponent.prototype.exportSerializedVisualData = function () {
            var iv = this.i.dh();
            return (iv);
        };
        /**
         * Provide a container for the bullet graph.
        
        * @param container  * The container.
        */
        IgxBulletGraphComponent.prototype.provideContainer = function (container) {
            this.i.provideContainer(container);
        };
        /**
         * Notify that the container has resized.
        
        */
        IgxBulletGraphComponent.prototype.containerResized = function () {
            this.i.containerResized();
        };
        /**
         * Notify that the bullet graph styling has updated.
        
        */
        IgxBulletGraphComponent.prototype.styleUpdated = function () {
            this.i.f7();
        };
        /**
         * Use to force the bullet graph to finish any deferred work before printing or evaluating its visual.
         * This should only be called if the visual of the bullet graph needs to be synchronously saved or evaluated.
         * Calling this method too often will hinder the performance of the bullet graph.
        
        */
        IgxBulletGraphComponent.prototype.flush = function () {
            this.i.fe();
        };
        Object.defineProperty(IgxBulletGraphComponent.prototype, "formatLabel", {
            /**
             * Event which is raised when a label of the bullet graph is formatted.
             * Function takes first argument evt and second argument ui.
             * Use ui.owner to obtain reference to the bullet graph widget.
             * Use ui.actualMinimumValue to obtain the minimum value of the bullet graph scale.
             * Use ui.actualMaximumValue to obtain the maximum value of the bullet graph scale.
             * Use ui.value to obtain the value on the the bullet graph scale associated with the label.
             * Use ui.label to obtain the string value of the label.
            */
            get: function () {
                var _this = this;
                if (this._formatLabel == null) {
                    this._formatLabel = new i0.EventEmitter();
                    this.i.formatLabel = igniteuiAngularCore.delegateCombine(this.i.formatLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxFormatLinearGraphLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeFormatLabel) {
                                _this.beforeFormatLabel(_this, outerArgs);
                            }
                            _this._formatLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._formatLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "alignLabel", {
            /**
             * Event which is raised when a label of the bullet graph is aligned along the scale.
             * Function takes first argument evt and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of the bullet graph scale.
             * Use ui.actualMaximumValue to obtain the maximum value of the bullet graph scale.
             * Use ui.value to obtain the value on the the bullet graph scale associated with the label.
             * Use ui.label to obtain the string value of the label.
             * Use ui.width to obtain the width of the label.
             * Use ui.height to obtain the height of the label.
             * Use ui.offsetX to obtain the X offset of the label on the bullet graph scale.
             * Use ui.offsetY to obtain the Y offset of the label on the bullet graph scale.
            */
            get: function () {
                var _this = this;
                if (this._alignLabel == null) {
                    this._alignLabel = new i0.EventEmitter();
                    this.i.alignLabel = igniteuiAngularCore.delegateCombine(this.i.alignLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxAlignLinearGraphLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeAlignLabel) {
                                _this.beforeAlignLabel(_this, outerArgs);
                            }
                            _this._alignLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._alignLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualMinimumValueChange", {
            get: function () {
                var _this = this;
                if (this._actualMinimumValueChange == null) {
                    this._actualMinimumValueChange = new i0.EventEmitter();
                    this.i.propertyChanged = igniteuiAngularCore.delegateCombine(this.i.propertyChanged, function (o, e) {
                        var iv = e;
                        var ext = _this.actualMinimumValue;
                        if (_this.beforeActualMinimumValueChange) {
                            _this.beforeActualMinimumValueChange(_this, ext);
                        }
                        _this._actualMinimumValueChange.emit(ext);
                    });
                }
                return this._actualMinimumValueChange;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxBulletGraphComponent.prototype, "actualMaximumValueChange", {
            get: function () {
                var _this = this;
                if (this._actualMaximumValueChange == null) {
                    this._actualMaximumValueChange = new i0.EventEmitter();
                    this.i.propertyChanged = igniteuiAngularCore.delegateCombine(this.i.propertyChanged, function (o, e) {
                        var iv = e;
                        var ext = _this.actualMaximumValue;
                        if (_this.beforeActualMaximumValueChange) {
                            _this.beforeActualMaximumValueChange(_this, ext);
                        }
                        _this._actualMaximumValueChange.emit(ext);
                    });
                }
                return this._actualMaximumValueChange;
            },
            enumerable: false,
            configurable: true
        });
        IgxBulletGraphComponent.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0["ɵɵFactoryTarget"].Component });
        IgxBulletGraphComponent.ɵcmp = i0["ɵɵngDeclareComponent"]({ minVersion: "12.0.0", version: "12.2.17", type: IgxBulletGraphComponent, selector: "igx-bullet-graph", inputs: { height: "height", width: "width", tooltipTemplate: "tooltipTemplate", transitionProgress: "transitionProgress", orientation: "orientation", scaleBackgroundBrush: "scaleBackgroundBrush", scaleBackgroundOutline: "scaleBackgroundOutline", scaleBackgroundThickness: "scaleBackgroundThickness", rangeBrushes: "rangeBrushes", rangeOutlines: "rangeOutlines", minimumValue: "minimumValue", actualMinimumValue: "actualMinimumValue", maximumValue: "maximumValue", actualMaximumValue: "actualMaximumValue", targetValue: "targetValue", targetValueName: "targetValueName", value: "value", valueName: "valueName", highlightValue: "highlightValue", actualHighlightValueOpacity: "actualHighlightValueOpacity", highlightValueOpacity: "highlightValueOpacity", actualHighlightValueDisplayMode: "actualHighlightValueDisplayMode", highlightValueDisplayMode: "highlightValueDisplayMode", rangeInnerExtent: "rangeInnerExtent", rangeOuterExtent: "rangeOuterExtent", valueInnerExtent: "valueInnerExtent", valueOuterExtent: "valueOuterExtent", interval: "interval", ticksPostInitial: "ticksPostInitial", ticksPreTerminal: "ticksPreTerminal", labelInterval: "labelInterval", labelExtent: "labelExtent", labelsPostInitial: "labelsPostInitial", labelsPreTerminal: "labelsPreTerminal", minorTickCount: "minorTickCount", tickStartExtent: "tickStartExtent", tickEndExtent: "tickEndExtent", tickStrokeThickness: "tickStrokeThickness", tickBrush: "tickBrush", fontBrush: "fontBrush", valueBrush: "valueBrush", valueOutline: "valueOutline", valueStrokeThickness: "valueStrokeThickness", minorTickStartExtent: "minorTickStartExtent", minorTickEndExtent: "minorTickEndExtent", minorTickStrokeThickness: "minorTickStrokeThickness", minorTickBrush: "minorTickBrush", isScaleInverted: "isScaleInverted", backingBrush: "backingBrush", backingOutline: "backingOutline", backingStrokeThickness: "backingStrokeThickness", backingInnerExtent: "backingInnerExtent", backingOuterExtent: "backingOuterExtent", scaleStartExtent: "scaleStartExtent", scaleEndExtent: "scaleEndExtent", targetValueBrush: "targetValueBrush", targetValueBreadth: "targetValueBreadth", targetValueInnerExtent: "targetValueInnerExtent", targetValueOuterExtent: "targetValueOuterExtent", targetValueOutline: "targetValueOutline", targetValueStrokeThickness: "targetValueStrokeThickness", mergeViewports: "mergeViewports", labelsVisible: "labelsVisible", labelFormat: "labelFormat", labelFormatSpecifiers: "labelFormatSpecifiers", transitionDuration: "transitionDuration", showToolTipTimeout: "showToolTipTimeout", showToolTip: "showToolTip", font: "font", pixelScalingRatio: "pixelScalingRatio", actualPixelScalingRatio: "actualPixelScalingRatio" }, outputs: { formatLabel: "formatLabel", alignLabel: "alignLabel", actualMinimumValueChange: "actualMinimumValueChange", actualMaximumValueChange: "actualMaximumValueChange" }, host: { classAttribute: "igx-bullet-graph ig-bullet-graph" }, providers: [], queries: [{ propertyName: "contentRanges", predicate: IgxLinearGraphRangeComponent }], viewQueries: [{ propertyName: "_dynamicContent", first: true, predicate: ["dynamicContent"], descendants: true, read: i0.ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #dynamicContent></ng-container>", isInline: true, styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
        return IgxBulletGraphComponent;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'igx-bullet-graph',
                        template: "<ng-container #dynamicContent></ng-container>",
                        changeDetection: i0.ChangeDetectionStrategy.OnPush,
                        providers: [],
                        host: { 'class': 'igx-bullet-graph ig-bullet-graph' },
                        styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"]
                    }]
            }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, propDecorators: { _dynamicContent: [{
                    type: i0.ViewChild,
                    args: ["dynamicContent", { read: i0.ViewContainerRef, static: true }]
                }], height: [{
                    type: i0.Input
                }], width: [{
                    type: i0.Input
                }], contentRanges: [{
                    type: i0.ContentChildren,
                    args: [IgxLinearGraphRangeComponent]
                }], tooltipTemplate: [{
                    type: i0.Input
                }], transitionProgress: [{
                    type: i0.Input
                }], orientation: [{
                    type: i0.Input
                }], scaleBackgroundBrush: [{
                    type: i0.Input
                }], scaleBackgroundOutline: [{
                    type: i0.Input
                }], scaleBackgroundThickness: [{
                    type: i0.Input
                }], rangeBrushes: [{
                    type: i0.Input
                }], rangeOutlines: [{
                    type: i0.Input
                }], minimumValue: [{
                    type: i0.Input
                }], actualMinimumValue: [{
                    type: i0.Input
                }], maximumValue: [{
                    type: i0.Input
                }], actualMaximumValue: [{
                    type: i0.Input
                }], targetValue: [{
                    type: i0.Input
                }], targetValueName: [{
                    type: i0.Input
                }], value: [{
                    type: i0.Input
                }], valueName: [{
                    type: i0.Input
                }], highlightValue: [{
                    type: i0.Input
                }], actualHighlightValueOpacity: [{
                    type: i0.Input
                }], highlightValueOpacity: [{
                    type: i0.Input
                }], actualHighlightValueDisplayMode: [{
                    type: i0.Input
                }], highlightValueDisplayMode: [{
                    type: i0.Input
                }], rangeInnerExtent: [{
                    type: i0.Input
                }], rangeOuterExtent: [{
                    type: i0.Input
                }], valueInnerExtent: [{
                    type: i0.Input
                }], valueOuterExtent: [{
                    type: i0.Input
                }], interval: [{
                    type: i0.Input
                }], ticksPostInitial: [{
                    type: i0.Input
                }], ticksPreTerminal: [{
                    type: i0.Input
                }], labelInterval: [{
                    type: i0.Input
                }], labelExtent: [{
                    type: i0.Input
                }], labelsPostInitial: [{
                    type: i0.Input
                }], labelsPreTerminal: [{
                    type: i0.Input
                }], minorTickCount: [{
                    type: i0.Input
                }], tickStartExtent: [{
                    type: i0.Input
                }], tickEndExtent: [{
                    type: i0.Input
                }], tickStrokeThickness: [{
                    type: i0.Input
                }], tickBrush: [{
                    type: i0.Input
                }], fontBrush: [{
                    type: i0.Input
                }], valueBrush: [{
                    type: i0.Input
                }], valueOutline: [{
                    type: i0.Input
                }], valueStrokeThickness: [{
                    type: i0.Input
                }], minorTickStartExtent: [{
                    type: i0.Input
                }], minorTickEndExtent: [{
                    type: i0.Input
                }], minorTickStrokeThickness: [{
                    type: i0.Input
                }], minorTickBrush: [{
                    type: i0.Input
                }], isScaleInverted: [{
                    type: i0.Input
                }], backingBrush: [{
                    type: i0.Input
                }], backingOutline: [{
                    type: i0.Input
                }], backingStrokeThickness: [{
                    type: i0.Input
                }], backingInnerExtent: [{
                    type: i0.Input
                }], backingOuterExtent: [{
                    type: i0.Input
                }], scaleStartExtent: [{
                    type: i0.Input
                }], scaleEndExtent: [{
                    type: i0.Input
                }], targetValueBrush: [{
                    type: i0.Input
                }], targetValueBreadth: [{
                    type: i0.Input
                }], targetValueInnerExtent: [{
                    type: i0.Input
                }], targetValueOuterExtent: [{
                    type: i0.Input
                }], targetValueOutline: [{
                    type: i0.Input
                }], targetValueStrokeThickness: [{
                    type: i0.Input
                }], mergeViewports: [{
                    type: i0.Input
                }], labelsVisible: [{
                    type: i0.Input
                }], labelFormat: [{
                    type: i0.Input
                }], labelFormatSpecifiers: [{
                    type: i0.Input
                }], transitionDuration: [{
                    type: i0.Input
                }], showToolTipTimeout: [{
                    type: i0.Input
                }], showToolTip: [{
                    type: i0.Input
                }], font: [{
                    type: i0.Input
                }], pixelScalingRatio: [{
                    type: i0.Input
                }], actualPixelScalingRatio: [{
                    type: i0.Input
                }], formatLabel: [{
                    type: i0.Output
                }], alignLabel: [{
                    type: i0.Output
                }], actualMinimumValueChange: [{
                    type: i0.Output
                }], actualMaximumValueChange: [{
                    type: i0.Output
                }] } });

    /*
    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.
    */
    var IgxLinearGraphRangeModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGraphRangeModule() {
        }
        IgxLinearGraphRangeModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxLinearGraphRangeModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeModule, declarations: [IgxLinearGraphRangeComponent], imports: [common.CommonModule], exports: [IgxLinearGraphRangeComponent] });
        IgxLinearGraphRangeModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeModule, imports: [[common.CommonModule,
                ]] });
        return IgxLinearGraphRangeModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [IgxLinearGraphRangeComponent],
                        exports: [IgxLinearGraphRangeComponent
                        ],
                        imports: [common.CommonModule,
                        ],
                        entryComponents: []
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxLinearGraphRangeDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGraphRangeDynamicModule() {
            igniteuiAngularCore.TypeRegistrar.registerCons('IgxLinearGraphRangeComponent', IgxLinearGraphRangeComponent);
        }
        IgxLinearGraphRangeDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxLinearGraphRangeDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeDynamicModule, imports: [common.CommonModule, IgxLinearGraphRangeModule], exports: [IgxLinearGraphRangeModule] });
        IgxLinearGraphRangeDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeDynamicModule, imports: [[common.CommonModule, IgxLinearGraphRangeModule
                ], IgxLinearGraphRangeModule] });
        return IgxLinearGraphRangeDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGraphRangeDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxLinearGraphRangeModule
                        ],
                        imports: [common.CommonModule, IgxLinearGraphRangeModule
                        ],
                        entryComponents: [IgxLinearGraphRangeComponent]
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxBulletGraphCoreModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxBulletGraphCoreModule() {
        }
        IgxBulletGraphCoreModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxBulletGraphCoreModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreModule, declarations: [IgxBulletGraphComponent], imports: [common.CommonModule, IgxLinearGraphRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule], exports: [IgxBulletGraphComponent,
                IgxLinearGraphRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule] });
        IgxBulletGraphCoreModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreModule, imports: [[common.CommonModule, IgxLinearGraphRangeModule,
                    igniteuiAngularCore.IgxNumberFormatSpecifierModule
                ], IgxLinearGraphRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule] });
        return IgxBulletGraphCoreModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [IgxBulletGraphComponent],
                        exports: [IgxBulletGraphComponent,
                            IgxLinearGraphRangeModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierModule
                        ],
                        imports: [common.CommonModule, IgxLinearGraphRangeModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierModule
                        ],
                        entryComponents: []
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxBulletGraphCoreDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxBulletGraphCoreDynamicModule() {
            igniteuiAngularCore.TypeRegistrar.registerCons('IgxBulletGraphComponent', IgxBulletGraphComponent);
        }
        IgxBulletGraphCoreDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxBulletGraphCoreDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreDynamicModule, imports: [common.CommonModule, IgxLinearGraphRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxBulletGraphCoreModule], exports: [IgxLinearGraphRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxBulletGraphCoreModule] });
        IgxBulletGraphCoreDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreDynamicModule, imports: [[common.CommonModule, IgxLinearGraphRangeDynamicModule,
                    igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                    IgxBulletGraphCoreModule
                ], IgxLinearGraphRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxBulletGraphCoreModule] });
        return IgxBulletGraphCoreDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphCoreDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxLinearGraphRangeDynamicModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                            IgxBulletGraphCoreModule
                        ],
                        imports: [common.CommonModule, IgxLinearGraphRangeDynamicModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                            IgxBulletGraphCoreModule
                        ],
                        entryComponents: [IgxBulletGraphComponent]
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxBulletGraphModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxBulletGraphModule() {
        }
        IgxBulletGraphModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxBulletGraphModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphModule, imports: [common.CommonModule, IgxBulletGraphCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule], exports: [IgxBulletGraphCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule] });
        IgxBulletGraphModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphModule, imports: [[common.CommonModule, IgxBulletGraphCoreModule,
                    igniteuiAngularCore.IgxDVInteractivityModule
                ], IgxBulletGraphCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule] });
        return IgxBulletGraphModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxBulletGraphCoreModule,
                            igniteuiAngularCore.IgxDVInteractivityModule
                        ],
                        imports: [common.CommonModule, IgxBulletGraphCoreModule,
                            igniteuiAngularCore.IgxDVInteractivityModule
                        ],
                        entryComponents: []
                    }]
            }] });

    /*
    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.
    */
    var IgxBulletGraphDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxBulletGraphDynamicModule() {
        }
        IgxBulletGraphDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxBulletGraphDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphDynamicModule, imports: [common.CommonModule, IgxBulletGraphCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxBulletGraphModule], exports: [IgxBulletGraphCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxBulletGraphModule] });
        IgxBulletGraphDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphDynamicModule, imports: [[common.CommonModule, IgxBulletGraphCoreDynamicModule,
                    igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                    IgxBulletGraphModule
                ], IgxBulletGraphCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxBulletGraphModule] });
        return IgxBulletGraphDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxBulletGraphDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxBulletGraphCoreDynamicModule,
                            igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                            IgxBulletGraphModule
                        ],
                        imports: [common.CommonModule, IgxBulletGraphCoreDynamicModule,
                            igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                            IgxBulletGraphModule
                        ],
                        entryComponents: []
                    }]
            }] });

    /*
    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.
    */

    /*
    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.
    */
    /**
     * Enumeration of preset needle shapes.
     */
    var LinearGraphNeedleShape = /*@__PURE__*/ (function (LinearGraphNeedleShape) {
        /**
         * A custom user defined needle shape.
         */
        LinearGraphNeedleShape[LinearGraphNeedleShape["Custom"] = 0] = "Custom";
        /**
         * A needle shaped like a rectangle.
         */
        LinearGraphNeedleShape[LinearGraphNeedleShape["Rectangle"] = 1] = "Rectangle";
        /**
         * A needle shaped like a triangle.
         */
        LinearGraphNeedleShape[LinearGraphNeedleShape["Triangle"] = 2] = "Triangle";
        /**
         * A needle shaped like a needle.
         */
        LinearGraphNeedleShape[LinearGraphNeedleShape["Needle"] = 3] = "Needle";
        /**
         * A needle shaped like a trapezoid.
         */
        LinearGraphNeedleShape[LinearGraphNeedleShape["Trapezoid"] = 4] = "Trapezoid";
        return LinearGraphNeedleShape;
    })({});
    /**
     * @hidden
     */
    var LinearGraphNeedleShape_$type = igniteuiAngularCore.markEnum('LinearGraphNeedleShape', 'Custom,0|Rectangle,1|Triangle,2|Needle,3|Trapezoid,4');

    /*
    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.
    */
    /**
     * Enum specifying the position of the titles relative to scale's start/end.
     */
    var TitlesPosition = /*@__PURE__*/ (function (TitlesPosition) {
        /**
         * The titles are placed at scale's start (minimum value).
         */
        TitlesPosition[TitlesPosition["ScaleStart"] = 0] = "ScaleStart";
        /**
         * The titles are placed at the scale's end (maximum value).
         */
        TitlesPosition[TitlesPosition["ScaleEnd"] = 1] = "ScaleEnd";
        return TitlesPosition;
    })({});
    /**
     * @hidden
     */
    var TitlesPosition_$type = igniteuiAngularCore.markEnum('TitlesPosition', 'ScaleStart,0|ScaleEnd,1');

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphNeedlePreparer = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphNeedlePreparer, _super);
        function LinearGraphNeedlePreparer() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.b = null;
            return _this;
        }
        LinearGraphNeedlePreparer.prototype.c = function (a) {
            this.d(a);
        };
        LinearGraphNeedlePreparer.prototype.d = function (a) {
            this.f(a);
            var b = this.a();
            a.n = b.u;
            a.m = b.q;
            a.q = 0;
            if (!igniteuiAngularCore.isNaN_(b.t)) {
                a.q = Math.max(a.q, b.t);
            }
            if (!igniteuiAngularCore.isNaN_(b.p)) {
                a.q = Math.max(a.q, b.p);
            }
            var c = 7;
            var d = new Array(c);
            var e = new Array(c + 1);
            this.e(a, d, e, b);
            for (var f = 0; f < c; f++) {
                var g = d[f].f;
                g.add(e[f]);
                g.add(e[f + 1]);
            }
        };
        LinearGraphNeedlePreparer.prototype.e = function (a, b, c, d) {
            var e = d.q;
            var f = d.u;
            var g = d.r;
            var h = d.v;
            if (d.d == 0) {
                e = 1 - e;
                f = 1 - f;
                g = 1 - g;
                h = 1 - h;
                b[0] = a.i;
                b[1] = a.j;
                b[2] = a.d;
                b[3] = a.g;
                b[4] = a.f;
                b[5] = a.h;
                b[6] = a.e;
                c[0] = { $type: igniteuiAngularCore.Point_$type, x: (-1) * d.t, y: f };
                c[1] = { $type: igniteuiAngularCore.Point_$type, x: d.t, y: f };
                c[2] = { $type: igniteuiAngularCore.Point_$type, x: d.w, y: h };
                c[3] = { $type: igniteuiAngularCore.Point_$type, x: d.s, y: g };
                c[4] = { $type: igniteuiAngularCore.Point_$type, x: d.p, y: e };
                c[5] = { $type: igniteuiAngularCore.Point_$type, x: (-1) * d.p, y: e };
                c[6] = { $type: igniteuiAngularCore.Point_$type, x: (-1) * d.s, y: g };
                c[7] = { $type: igniteuiAngularCore.Point_$type, x: (-1) * d.w, y: h };
            }
            else {
                b[0] = a.i;
                b[1] = a.j;
                b[2] = a.d;
                b[3] = a.g;
                b[4] = a.f;
                b[5] = a.h;
                b[6] = a.e;
                c[0] = { $type: igniteuiAngularCore.Point_$type, x: f, y: (-1) * d.t };
                c[1] = { $type: igniteuiAngularCore.Point_$type, x: f, y: d.t };
                c[2] = { $type: igniteuiAngularCore.Point_$type, x: h, y: d.w };
                c[3] = { $type: igniteuiAngularCore.Point_$type, x: g, y: d.s };
                c[4] = { $type: igniteuiAngularCore.Point_$type, x: e, y: d.p };
                c[5] = { $type: igniteuiAngularCore.Point_$type, x: e, y: (-1) * d.p };
                c[6] = { $type: igniteuiAngularCore.Point_$type, x: g, y: (-1) * d.s };
                c[7] = { $type: igniteuiAngularCore.Point_$type, x: h, y: (-1) * d.w };
            }
        };
        LinearGraphNeedlePreparer.prototype.a = function () {
            var a = this.b;
            var b = 0.85;
            var c = 0.25;
            var d = 0.45;
            var e = a.o;
            var f = 0.5;
            var g = a.q;
            var h = a.u;
            var i = a.r;
            var j = a.v;
            var k = a.p;
            var l = a.t;
            var m = a.s;
            var n = a.w;
            if (igniteuiAngularCore.isNaN_(g)) {
                g = c;
            }
            if (igniteuiAngularCore.isNaN_(h)) {
                h = b;
            }
            if (igniteuiAngularCore.isNaN_(i)) {
                if (a.c == 3) {
                    i = d;
                }
                else {
                    i = c;
                }
            }
            if (igniteuiAngularCore.isNaN_(j)) {
                j = b;
            }
            if (igniteuiAngularCore.isNaN_(l)) {
                l = e;
            }
            if (igniteuiAngularCore.isNaN_(k)) {
                if (a.c == 4) {
                    k = l * f;
                }
                else {
                    k = e;
                }
            }
            if (igniteuiAngularCore.isNaN_(m)) {
                m = e;
            }
            if (igniteuiAngularCore.isNaN_(n)) {
                n = e;
            }
            switch (a.c) {
                case 2:
                case 1:
                case 4:
                    j = h;
                    i = g;
                    break;
            }
            if (a.c == 3) {
                k = 0;
                m = l;
                n = l;
                j = h;
            }
            if (a.c == 2) {
                k = 0;
                m = 0;
                n = l;
            }
            if (a.c == 4) {
                m = k;
                n = l;
            }
            if (a.c == 1) {
                var o = Math.max(k, l);
                k = o;
                l = o;
                m = o;
                n = o;
            }
            a.q = g;
            a.u = h;
            a.r = i;
            a.v = j;
            a.p = k;
            a.t = l;
            a.s = m;
            a.w = n;
            return a;
        };
        LinearGraphNeedlePreparer.prototype.f = function (a) {
            a.f.k();
            a.g.k();
            a.d.k();
            a.j.k();
            a.i.k();
            a.k.k();
            a.e.k();
            a.h.k();
            a.b.k();
            a.c.k();
        };
        LinearGraphNeedlePreparer.$t = igniteuiAngularCore.markType(LinearGraphNeedlePreparer, 'LinearGraphNeedlePreparer');
        return LinearGraphNeedlePreparer;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGraphNeedleParameters = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGraphNeedleParameters, _super);
        function LinearGraphNeedleParameters() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.d = 0;
            _this.e = false;
            _this.k = NaN;
            _this.j = NaN;
            _this.g = NaN;
            _this.l = NaN;
            _this.i = NaN;
            _this.n = NaN;
            _this.h = NaN;
            _this.m = NaN;
            _this.f = NaN;
            _this.b = 3;
            _this.propertyChanged = null;
            return _this;
        }
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "u", {
            get: function () {
                return this.k;
            },
            set: function (a) {
                if (this.k != a) {
                    this.k = a;
                    this.x("OuterExtent");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "q", {
            get: function () {
                return this.j;
            },
            set: function (a) {
                if (this.j != a) {
                    this.j = a;
                    this.x("InnerExtent");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "p", {
            get: function () {
                return this.g;
            },
            set: function (a) {
                if (this.g != a) {
                    this.g = a;
                    this.x("InnerBaseWidth");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "t", {
            get: function () {
                return this.l;
            },
            set: function (a) {
                if (this.l != a) {
                    this.l = a;
                    this.x("OuterBaseWidth");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "s", {
            get: function () {
                return this.i;
            },
            set: function (a) {
                if (this.i != a) {
                    this.i = a;
                    this.x("InnerPointWidth");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "w", {
            get: function () {
                return this.n;
            },
            set: function (a) {
                if (this.n != a) {
                    this.n = a;
                    this.x("OuterPointWidth");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "r", {
            get: function () {
                return this.h;
            },
            set: function (a) {
                if (this.h != a) {
                    this.h = a;
                    this.x("InnerPointExtent");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "v", {
            get: function () {
                return this.m;
            },
            set: function (a) {
                if (this.m != a) {
                    this.m = a;
                    this.x("OuterPointExtent");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "o", {
            get: function () {
                return this.f;
            },
            set: function (a) {
                if (this.f != a) {
                    this.f = a;
                    this.x("DefaultWidth");
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGraphNeedleParameters.prototype, "c", {
            get: function () {
                return this.b;
            },
            set: function (a) {
                if (this.b != a) {
                    this.b = a;
                    this.x("NeedleShape");
                }
            },
            enumerable: false,
            configurable: true
        });
        LinearGraphNeedleParameters.prototype.a = function () {
            var a = new LinearGraphNeedleParameters();
            a.u = this.u;
            a.q = this.q;
            a.p = this.p;
            a.t = this.t;
            a.r = this.r;
            a.v = this.v;
            a.s = this.s;
            a.w = this.w;
            a.c = this.c;
            a.o = this.o;
            return a;
        };
        LinearGraphNeedleParameters.prototype.x = function (a) {
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        LinearGraphNeedleParameters.$t = igniteuiAngularCore.markType(LinearGraphNeedleParameters, 'LinearGraphNeedleParameters', igniteuiAngularCore.Base.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        return LinearGraphNeedleParameters;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearScaleVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearScaleVisualData, _super);
        function LinearScaleVisualData() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        LinearScaleVisualData.$t = igniteuiAngularCore.markType(LinearScaleVisualData, 'LinearScaleVisualData');
        return LinearScaleVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGaugeScaleFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGaugeScaleFrame, _super);
        function LinearGaugeScaleFrame() {
            var _this = _super.call(this) || this;
            _this.ag = null;
            _this.af = null;
            _this.ag = new LinearGraphNeedleFrame();
            _this.af = new LinearGraphNeedleFrame();
            return _this;
        }
        LinearGaugeScaleFrame.prototype.y = function (a, b, c) {
            _super.prototype.y.call(this, a, b, c);
            this.ag = LinearGraphNeedleFrame.a(a, 1 - a, b.ag, c.ag);
            this.af = LinearGraphNeedleFrame.a(a, 1 - a, b.af, c.af);
        };
        LinearGaugeScaleFrame.$t = igniteuiAngularCore.markType(LinearGaugeScaleFrame, 'LinearGaugeScaleFrame', LinearGraphScaleFrame.$);
        return LinearGaugeScaleFrame;
    }(LinearGraphScaleFrame));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGaugeFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGaugeFrame, _super);
        function LinearGaugeFrame() {
            var _this = _super.call(this) || this;
            _this._c = null;
            _this.c = new LinearGaugeScaleFrame();
            return _this;
        }
        LinearGaugeFrame.prototype.get_c = function () {
            return this._c;
        };
        LinearGaugeFrame.prototype.set_c = function (a) {
            this._c = a;
        };
        Object.defineProperty(LinearGaugeFrame.prototype, "c", {
            get: function () {
                return this.get_c();
            },
            set: function (a) {
                this.set_c(a);
            },
            enumerable: false,
            configurable: true
        });
        LinearGaugeFrame.$t = igniteuiAngularCore.markType(LinearGaugeFrame, 'LinearGaugeFrame', LinearGraphFrame.$);
        return LinearGaugeFrame;
    }(LinearGraphFrame));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearGaugeVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearGaugeVisualData, _super);
        function LinearGaugeVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._needlePath = null;
            _this._highlightNeedlePath = null;
            _this._needle = null;
            _this._highlightNeedle = null;
            return _this;
        }
        Object.defineProperty(LinearGaugeVisualData.prototype, "needlePath", {
            get: function () {
                return this._needlePath;
            },
            set: function (a) {
                this._needlePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGaugeVisualData.prototype, "highlightNeedlePath", {
            get: function () {
                return this._highlightNeedlePath;
            },
            set: function (a) {
                this._highlightNeedlePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGaugeVisualData.prototype, "needle", {
            get: function () {
                return this._needle;
            },
            set: function (a) {
                this._needle = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(LinearGaugeVisualData.prototype, "highlightNeedle", {
            get: function () {
                return this._highlightNeedle;
            },
            set: function (a) {
                this._highlightNeedle = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearGaugeVisualData.prototype.scaleByViewport = function () {
            _super.prototype.scaleByViewport.call(this);
            if (this.needlePath != null) {
                this.needlePath.scaleByViewport(this.viewport);
            }
            if (this.highlightNeedlePath != null) {
                this.highlightNeedlePath.scaleByViewport(this.viewport);
            }
        };
        LinearGaugeVisualData.prototype.serialize = function () {
            var a = _super.prototype.serialize.call(this);
            var b = new igniteuiAngularCore.StringBuilder(0);
            var c = a.length == 0;
            if (this.needlePath != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("needlePath: ");
                b.u(this.needlePath.serialize());
            }
            if (this.needle != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("needle: ");
                b.u(this.needle.serialize());
            }
            if (this.highlightNeedlePath != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("highlightNeedlePath: ");
                b.u(this.highlightNeedlePath.serialize());
            }
            if (this.highlightNeedle != null) {
                if (c) {
                    c = false;
                }
                else {
                    b.l(", ");
                }
                b.l("highlightNeedle: ");
                b.u(this.highlightNeedle.serialize());
            }
            if (c) {
                return a;
            }
            b.l("}");
            return a.substr(0, a.length - 1) + b.toString();
        };
        LinearGaugeVisualData.$t = igniteuiAngularCore.markType(LinearGaugeVisualData, 'LinearGaugeVisualData', LinearGraphVisualData.$);
        return LinearGaugeVisualData;
    }(LinearGraphVisualData));

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearNeedleVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearNeedleVisualData, _super);
        function LinearNeedleVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._value = 0;
            return _this;
        }
        Object.defineProperty(LinearNeedleVisualData.prototype, "value", {
            get: function () {
                return this._value;
            },
            set: function (a) {
                this._value = a;
            },
            enumerable: false,
            configurable: true
        });
        LinearNeedleVisualData.prototype.serialize = function () {
            return "{ value: " + this.value.toString() + ", type: '" + this.type + "'}";
        };
        LinearNeedleVisualData.prototype.get_type = function () {
            return "needle";
        };
        Object.defineProperty(LinearNeedleVisualData.prototype, "type", {
            get: function () {
                return this.get_type();
            },
            enumerable: false,
            configurable: true
        });
        LinearNeedleVisualData.$t = igniteuiAngularCore.markType(LinearNeedleVisualData, 'LinearNeedleVisualData', ToolTipItemVisualData.$);
        return LinearNeedleVisualData;
    }(ToolTipItemVisualData));

    /*
    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.
    */
    /**
     * @hidden
     */
    var XamLinearGauge = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamLinearGauge, _super);
        function XamLinearGauge() {
            var _this = _super.call(this) || this;
            _this.propertyChanged = null;
            _this.av = null;
            _this.b1 = 0;
            _this.formatLabel = null;
            _this.alignLabel = null;
            _this.valueChanged = null;
            _this.highlightValueChanged = null;
            _this.ao = null;
            _this.an = null;
            _this.am = null;
            _this.ar = null;
            _this.by = 0;
            _this.bx = 100;
            _this.a3 = 0;
            _this.aj = null;
            _this.a2 = 0;
            _this.bw = 0.5;
            _this.az = 1;
            _this.bn = false;
            _this.a7 = null;
            _this.a5 = null;
            _this.a4 = null;
            _this.a8 = null;
            _this.a6 = null;
            _this.bu = null;
            _this.i0 = null;
            _this.bt = null;
            _this.iz = null;
            _this._view = null;
            _this.i2 = null;
            _this.i1 = null;
            _this.iy = null;
            _this.bp = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.bs = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.br = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.bq = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.bc = false;
            _this.b0 = NaN;
            _this.bz = 1;
            _this.b0 = NaN;
            _this.bz = 1;
            _this.view = new XamLinearGaugeView(_this);
            _this.view.bc();
            _this.i2 = igniteuiAngularCore.Rect.empty;
            _this.i1 = igniteuiAngularCore.Rect.empty;
            _this.iy = igniteuiAngularCore.Rect.empty;
            _this.ao = new LinearGaugeFrame();
            _this.an = new LinearGaugeFrame();
            _this.am = new LinearGaugeFrame();
            _this.ranges = new LinearGraphRangeCollection();
            _this.bc = true;
            _this.av = new igniteuiAngularCore.DoubleAnimator(0, 1, _this.di);
            var a = _this.av;
            a.propertyChanged = igniteuiAngularCore.delegateCombine(a.propertyChanged, igniteuiAngularCore.runOn(_this, _this.fn));
            _this.ab = XamLinearGauge.$;
            _this.a6 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bm);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bn);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bo);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cq);
                return $ret;
            })());
            _this.a7 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bf);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bg);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bh);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cp);
                return $ret;
            })());
            _this.a5 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bf);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bg);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bh);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cp);
                return $ret;
            })());
            _this.a4 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.a4);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.a5);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.a6);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.b3);
                return $ret;
            })());
            _this.a8 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.bw);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.bx);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.by);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.b4);
                return $ret;
            })());
            return _this;
        }
        XamLinearGauge.prototype.f4 = function (a) {
            this.gb(a);
        };
        XamLinearGauge.prototype.gb = function (a) {
            var b = this.propertyChanged;
            if (b != null) {
                b(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        XamLinearGauge.prototype.fn = function (a, b) {
            this.dd = this.av.o;
        };
        Object.defineProperty(XamLinearGauge.prototype, "a9", {
            get: function () {
                return this.av.f();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "dd", {
            get: function () {
                return this.b1;
            },
            set: function (a) {
                var b = this.b1;
                this.b1 = a;
                this.f3("TransitionProgress", b, this.b1);
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.prototype.gn = function () {
            this.b1 = 0;
            this.av.w();
            this.av.v();
        };
        Object.defineProperty(XamLinearGauge.prototype, "bm", {
            get: function () {
                return this.di > 0;
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.prototype.onDetachedFromUI = function () {
            this.view.bb();
        };
        XamLinearGauge.prototype.onAttachedToUI = function () {
            this.view.a7();
        };
        Object.defineProperty(XamLinearGauge.prototype, "b4", {
            get: function () {
                return this.by;
            },
            set: function (a) {
                this.by = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "b3", {
            get: function () {
                return this.bx;
            },
            set: function (a) {
                this.bx = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "b2", {
            get: function () {
                return this.bw;
            },
            set: function (a) {
                var b = this.bw;
                this.bw = a;
                if (b != this.bw) {
                    this.f3("ActualHighlightValueOpacity", b, a);
                }
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.prototype.gq = function () {
            this.b2 = igniteuiAngularCore.isNaN_(this.cb) ? 0.5 : Math.max(0, Math.min(this.cb, 1));
        };
        Object.defineProperty(XamLinearGauge.prototype, "a0", {
            get: function () {
                return this.az;
            },
            set: function (a) {
                this.az = a;
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.prototype.gp = function () {
            if (this.a1 != 1) {
                if (igniteuiAngularCore.isNaN_(this.ca) || igniteuiAngularCore.isInfinity(this.ca)) {
                    this.a0 = 1;
                }
                else {
                    this.a0 = 2;
                }
            }
            else {
                this.a0 = 1;
            }
        };
        XamLinearGauge.prototype.ft = function () {
            this.a2 = 0;
            this.view.cm().an = null;
        };
        XamLinearGauge.prototype.b9 = function (a) {
            var b = 0;
            var c = a.x;
            if (this.as == 1) {
                b = a.y;
                c = this.i5.height;
            }
            return this.ar.k(c - b);
        };
        XamLinearGauge.prototype.bk = function (a) {
            if (this.bu == null) {
                return false;
            }
            return igniteuiAngularCore.PolygonUtil.b(this.bu, a);
        };
        XamLinearGauge.prototype.ba = function (a) {
            if (this.bt == null) {
                return false;
            }
            return igniteuiAngularCore.PolygonUtil.b(this.bt, a);
        };
        XamLinearGauge.prototype.needleContainsPoint = function (a, b) {
            if (this.bu == null) {
                return false;
            }
            return b ? this.i0.containsPoint(a) : igniteuiAngularCore.PolygonUtil.b(this.bu, a);
        };
        XamLinearGauge.prototype.highlightNeedleContainsPoint = function (a, b) {
            if (this.bt == null) {
                return false;
            }
            return b ? this.iz.containsPoint(a) : igniteuiAngularCore.PolygonUtil.b(this.bt, a);
        };
        XamLinearGauge.prototype.fr = function (a, b) {
            var c = this.b9(a);
            c = Math.max(Math.min(c, this.b3), this.b4);
            var d = this.a3 == 2;
            if (d) {
                if (c != this.ca) {
                    this.ca = c;
                }
            }
            else {
                if (c != this.de) {
                    this.de = c;
                }
            }
        };
        XamLinearGauge.prototype.at = function () {
            var _this = this;
            var a = new LinearGaugeVisualData();
            a.viewport = new igniteuiAngularCore.RectData(this.i5.left, this.i5.top, this.i5.width, this.i5.height);
            a.scaleLabels = new LinearGraphScaleLabelVisualDataList();
            a.scaleTickmarks = new LinearGraphScaleTickmarkVisualDataList();
            a.ranges = new LinearGraphRangeVisualDataList();
            a.needle = ((function () {
                var $ret = new LinearNeedleVisualData();
                $ret.value = _this.de;
                return $ret;
            })());
            a.highlightNeedle = ((function () {
                var $ret = new LinearNeedleVisualData();
                $ret.value = _this.ca;
                return $ret;
            })());
            this.view.az(a);
            var b = this.view.l();
            if (b != null) {
                var c_1 = null;
                switch (b.c) {
                    case "range":
                        c_1 = a.ranges._inner[b.b];
                        break;
                    case "needle":
                        c_1 = a.needle;
                        break;
                }
                a.toolTip = ((function () {
                    var $ret = new LinearGraphToolTipVisualData();
                    $ret.item = c_1;
                    $ret.itemBrush = igniteuiAngularCore.AppearanceHelper.b(b.a.brush);
                    $ret.outline = igniteuiAngularCore.AppearanceHelper.b(b.a.outline);
                    $ret.thickness = b.a.thickness;
                    return $ret;
                })());
            }
            return a;
        };
        XamLinearGauge.prototype.ds = function () {
            var a = this.at();
            a.scaleByViewport();
            return a.serialize();
        };
        XamLinearGauge.prototype.fs = function () {
            this.view.flush();
        };
        XamLinearGauge.prototype.destroy = function () {
            this.provideContainer(null);
        };
        XamLinearGauge.prototype.provideContainer = function (a) {
            this.view.a9(a);
        };
        XamLinearGauge.prototype.onMouseOver = function (a, b, c) {
            if (this.bn) {
                this.gm(a, null);
            }
        };
        XamLinearGauge.prototype.onMouseLeave = function () {
            if (this.bn) {
                this.gm({ $type: igniteuiAngularCore.Point_$type, x: -10000, y: -10000 }, null);
            }
        };
        XamLinearGauge.prototype.onMouseMove = function (a, b) {
            if (this.a3 != 0) {
                this.fr(a, b);
            }
        };
        XamLinearGauge.prototype.onMouseDown = function (a, b) {
            if (this.bf && this.a3 == 0 && this.needleContainsPoint(a, b)) {
                this.a3 = 1;
            }
            if (this.be && this.a3 == 0 && this.highlightNeedleContainsPoint(a, b)) {
                this.a3 = 2;
            }
        };
        Object.defineProperty(XamLinearGauge.prototype, "bd", {
            get: function () {
                return this.a3 != 0;
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.prototype.onMouseUp = function (a) {
            if (this.a3 != 0) {
                this.a3 = 0;
            }
        };
        XamLinearGauge.prototype.containerResized = function () {
            this.view.ba();
        };
        XamLinearGauge.prototype.go = function () {
            this.view.bv();
        };
        XamLinearGauge.prototype.gm = function (a, b) {
            var c = this.bu;
            if (c != null && c.count > 0) {
                var d = igniteuiAngularCore.PolygonUtil.b(c, a);
                if (d == true) {
                    this.view.bu(a, b, -1, "needle");
                    return;
                }
            }
            for (var e = 0; e < this.bq.count; e++) {
                var f = new igniteuiAngularCore.PathVisualData(1, "range", this.bq._inner[e]);
                var g = f.getPoints(new igniteuiAngularCore.GetPointsSettings());
                if (g.count > 0) {
                    var h = igniteuiAngularCore.PolygonUtil.b(this.bv(g._inner[0]), a);
                    if (h == true) {
                        this.view.bu(a, b, e, "range");
                        return;
                    }
                }
            }
            this.view.a2();
        };
        XamLinearGauge.prototype.gg = function () {
            if (!this.bc) {
                return;
            }
            var a = this.an.c;
            if (this.as == 0) {
                var b = 0;
                for (var c = 0; c < a.c.length; c++) {
                    b = Math.max(b, a.c[c]);
                }
                var d = this.i5.height >= b ? this.i5.height - b : this.i5.height;
                this.i4 = new igniteuiAngularCore.Rect(0, 0, 0, this.i5.width, d);
            }
            else {
                var e = 0;
                for (var f = 0; f < a.f.length; f++) {
                    e = Math.max(e, a.f[f]);
                }
                var g = this.i5.width >= e ? this.i5.width - e : this.i5.width;
                this.i4 = new igniteuiAngularCore.Rect(0, e, 0, g, this.i5.height);
            }
        };
        Object.defineProperty(XamLinearGauge.prototype, "view", {
            get: function () {
                return this._view;
            },
            set: function (a) {
                this._view = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "i5", {
            get: function () {
                return this.i2;
            },
            set: function (a) {
                var b = this.i2;
                this.i2 = a;
                if (!b.equals1(this.i2)) {
                    this.f5(b, this.i2);
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "i4", {
            get: function () {
                return this.i1;
            },
            set: function (a) {
                this.i1 = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "i3", {
            get: function () {
                return this.iy;
            },
            set: function (a) {
                this.iy = a;
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.prototype.bh = function () {
            return !igniteuiAngularCore.isNaN_(this.b4) && !igniteuiAngularCore.isNaN_(this.b3) && !this.i5.isEmpty && this.view.s();
        };
        XamLinearGauge.prototype.fo = function () {
            if (!this.bh()) {
                return;
            }
            var a = this.c5();
            this.ar = new LinearGraphScaler(this.b4, this.b3, a, a + this.c3(), this.bg);
            if (this.bc) {
                if (this.a9) {
                    if (this.av.g) {
                        this.av.t();
                    }
                    var b = this.ao;
                    this.ao = this.am;
                    this.am = b;
                }
                else {
                    var c = this.ao;
                    this.ao = this.an;
                    this.an = c;
                }
            }
            else if (this.a9) {
                this.am.d(this.dd, this.ao, this.an);
                this.gh(this.am);
                this.gk(this.am);
                this.gj(this.am, this.am.c.af, true);
                this.gj(this.am, this.am.c.ag, false);
            }
            if (this.bc) {
                this.f7();
                this.gg();
                if (this.a2 == 1) {
                    this.a2 = 2;
                    this.f9(this.ar.i(this.de), this.ao.c, false, true);
                }
                else if (this.a2 == 4) {
                    if (this.di > 0) {
                        this.a2 = 5;
                        this.f9(this.ar.i(this.de), this.an.c, false, true);
                    }
                    else {
                        this.ft();
                    }
                }
                this.f8();
                this.ga();
                this.f6();
            }
            if (this.bc && this.bm) {
                this.gn();
                this.am.d(this.dd, this.ao, this.an);
                this.gh(this.am);
                this.gk(this.am);
                this.gj(this.am, this.am.c.af, true);
                this.gj(this.am, this.am.c.ag, false);
                this.gl(this.am);
                this.gi(this.am);
            }
            else {
                if (this.bc) {
                    this.gh(this.an);
                    this.gk(this.an);
                    this.gj(this.an, this.an.c.af, true);
                    this.gj(this.an, this.an.c.ag, false);
                    this.gl(this.an);
                    this.gi(this.an);
                }
            }
            this.bc = false;
            this.view.as();
        };
        XamLinearGauge.prototype.ga = function () {
            var a = this.an;
            var b = a.c;
            var c = this.ar;
            var d = this.cj;
            var e = this.i4;
            b.u = this.c6;
            b.r = this.c1;
            b.s = this.c2;
            b.t = this.c4;
            b.m.clear();
            for (var f = 0; f < this.ranges.count; f++) {
                var g = this.ranges._inner[f];
                if (g.j <= this.b4 || g.o > this.b3) {
                    continue;
                }
                var h = g.o;
                var i = g.j;
                if (h < this.b4) {
                    h = this.b4;
                }
                if (i > this.b3) {
                    i = this.b3;
                }
                var j = new LinearGraphRectFrame();
                j.i = g.an != null ? g.an : this.iq(f, this.ah);
                j.j = g.ao != null ? g.ao : this.iq(f, this.ai);
                j.h = g.p;
                j.g = c.i(h);
                j.d = c.i(i);
                j.e = g.l;
                j.b = g.k;
                j.f = g.n;
                j.c = g.m;
                if (igniteuiAngularCore.isNaN_(j.e)) {
                    j.e = this.cy;
                }
                j.b = g.k;
                if (igniteuiAngularCore.isNaN_(j.b)) {
                    j.b = this.cy;
                }
                j.f = g.n;
                if (igniteuiAngularCore.isNaN_(j.f)) {
                    j.f = this.cz;
                }
                j.c = g.m;
                if (igniteuiAngularCore.isNaN_(j.c)) {
                    j.c = this.cz;
                }
                b.m.add(j);
            }
            b.ab = this.ip;
            b.ad = this.iw;
            b.x = this.dc;
            b.w = this.db;
            b.v = this.c8;
            b.ac = this.ir;
            b.q = this.cm;
            b.p = this.cl;
            b.o = this.ck;
            var k = this.cc;
            if (igniteuiAngularCore.isNaN_(k)) {
                k = (this.b3 - this.b4) / 10;
            }
            if (k == 0) {
                k = this.b3 - this.b4;
            }
            var l = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            var m = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            if (k > 0) {
                var n = this.b4 + this.c9;
                var o = this.b3 - this.da;
                var p = 100000;
                var q = Math.abs(o - n) / p;
                if (k >= q) {
                    for (var r = n; r <= o || this.bo(r, o, k); r = r + k) {
                        l.add(c.i(r));
                        for (var s = 0; s < d; s++) {
                            var t = (k / (d + 1)) * (s + 1);
                            if (t + r > o) {
                                continue;
                            }
                            m.add(c.i(t + r));
                        }
                    }
                }
            }
            if (b.j.length != l.count || b.i.length != m.count) {
                b.j = new Array(l.count);
                b.i = new Array(m.count);
            }
            for (var u = 0; u < l.count; u++) {
                b.j[u] = l._inner[u];
            }
            for (var v = 0; v < m.count; v++) {
                b.i[v] = m._inner[v];
            }
        };
        XamLinearGauge.prototype.i6 = function () {
            if (!this.bi) {
                return new igniteuiAngularCore.Size(1, 0, 0);
            }
            var a = this.cc;
            var b = this.ce;
            if (igniteuiAngularCore.isNaN_(a)) {
                a = (this.b3 - this.b4) / 10;
            }
            if (igniteuiAngularCore.isNaN_(b)) {
                b = a;
            }
            if (b == 0) {
                b = this.b3 - this.b4;
            }
            var c = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            if (b > 0) {
                var d = this.cf + this.b4;
                var e = this.b3 - this.cg;
                var f = 100000;
                var g = Math.abs(e - d) / f;
                if (b >= g) {
                    for (var h = d; h <= e || this.bo(h, e, a); h += b) {
                        c.add(h);
                    }
                }
            }
            var i = new Array(c.count);
            var j = new Array(c.count);
            var _loop_1 = function (k) {
                var l = c._inner[k];
                if (this_1.formatLabel == null && this_1.aj == null) {
                    l = (Math.round(l * 100) / 100);
                }
                var m = l.toString();
                if (this_1.aj != null) {
                    m = this_1.aj.i(l);
                }
                var n = new FormatLinearGraphLabelEventArgs();
                n.value = l;
                n.label = m;
                if (this_1.formatLabel != null) {
                    this_1.formatLabel(this_1, n);
                }
                m = n.label;
                var o = this_1.view.cr(((function () {
                    var $ret = new igniteuiAngularCore.TextBlock();
                    $ret.al = m;
                    return $ret;
                })()));
                i[k] = o.width;
                j[k] = o.height;
            };
            var this_1 = this;
            for (var k = 0; k < c.count; k++) {
                _loop_1(k);
            }
            var p = 0;
            var q = 0;
            var r = 1 - this.c1 + this.c6;
            if (this.as == 0) {
                for (var s = 0; s < j.length; s++) {
                    q = Math.max(q, j[s]);
                }
                for (var t = 0; t < i.length; t++) {
                    p += i[t];
                }
                if (i.length > 0) {
                    p += i[0] / 2;
                }
                if (i.length > 1) {
                    p += i[i.length - 1] / 2;
                }
                if (i.length > 0) {
                    p += (i.length - 1) * 5;
                }
                if (r > 0) {
                    p = p / Math.abs(1 - r);
                }
            }
            else {
                for (var u = 0; u < i.length; u++) {
                    p = Math.max(p, i[u]);
                }
                for (var v = 0; v < j.length; v++) {
                    q += j[v];
                }
                if (j.length > 0) {
                    q -= j[0] / 2;
                }
                if (j.length > 1) {
                    q -= j[j.length - 1] / 2;
                }
                if (r > 0) {
                    q = q / Math.abs(1 - r);
                }
                if (j.length > 0) {
                    q += (j.length - 1) * 5;
                }
            }
            return new igniteuiAngularCore.Size(1, p, q);
        };
        XamLinearGauge.prototype.f7 = function () {
            var a = this.an;
            var b = a.c;
            var c = this.ar;
            var d = this.cc;
            var e = this.ce;
            var f = this.cj;
            if (igniteuiAngularCore.isNaN_(d)) {
                d = (this.b3 - this.b4) / 10;
            }
            if (igniteuiAngularCore.isNaN_(e)) {
                e = d;
            }
            if (e == 0) {
                e = this.b3 - this.b4;
            }
            var g = new igniteuiAngularCore.List$1(igniteuiAngularCore.Tuple$2.$.specialize(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type), 0);
            if (e > 0) {
                var h = this.cf + this.b4;
                var i = this.b3 - this.cg;
                var j = 100000;
                var k = Math.abs(i - h) / j;
                if (e >= k) {
                    for (var l = h; l <= i || this.bo(l, i, e); l = l + e) {
                        g.add(new igniteuiAngularCore.Tuple$2(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type, l, c.i(l)));
                    }
                }
            }
            if (b.d.length != g.count) {
                b.e = new Array(g.count);
                b.d = new Array(g.count);
                b.f = new Array(g.count);
                b.c = new Array(g.count);
                b.g = new Array(g.count);
                b.h = new Array(g.count);
            }
            b.n = this.cd;
            var m = new FormatLinearGraphLabelEventArgs();
            m.actualMinimumValue = this.b4;
            m.actualMaximumValue = this.b3;
            var n = new AlignLinearGraphLabelEventArgs();
            n.actualMinimumValue = this.b4;
            n.actualMaximumValue = this.b3;
            var _loop_2 = function (o) {
                var p = g._inner[o].c;
                if (this_2.formatLabel == null) {
                    p = (Math.round(p * 100) / 100);
                }
                var q = (p).toString();
                if (this_2.aj != null) {
                    q = this_2.aj.i(p);
                }
                m.value = p;
                n.value = p;
                m.label = q;
                if (this_2.formatLabel != null && this_2.bi) {
                    this_2.formatLabel(this_2, m);
                }
                q = m.label;
                n.label = q;
                var r = this_2.view.cr(((function () {
                    var $ret = new igniteuiAngularCore.TextBlock();
                    $ret.al = q;
                    return $ret;
                })()));
                n.width = r.width;
                n.height = r.height;
                if (this_2.as == 0) {
                    n.offsetX = -1 * (r.width / 2);
                    n.offsetY = -1 * (r.height);
                }
                else {
                    n.offsetX = -1 * r.width;
                    n.offsetY = -1 * (r.height / 2);
                }
                if (this_2.alignLabel != null && this_2.bi) {
                    this_2.alignLabel(this_2, n);
                }
                if (this_2.bi) {
                    b.f[o] = n.width;
                    b.c[o] = n.height;
                }
                else {
                    b.f[o] = 0;
                    b.c[o] = 0;
                }
                b.g[o] = n.offsetX;
                b.h[o] = n.offsetY;
                b.d[o] = q;
                b.e[o] = g._inner[o].d;
            };
            var this_2 = this;
            for (var o = 0; o < g.count; o++) {
                _loop_2(o);
            }
        };
        XamLinearGauge.prototype.bo = function (a, b, c) {
            var d = c / 10000;
            if (igniteuiAngularCore.isNaN_(d)) {
                d = 1E-05;
            }
            var e = Math.abs(a - b);
            if (e < d) {
                return true;
            }
            return false;
        };
        XamLinearGauge.prototype.f6 = function () {
            var a = this.an;
            var b = a.a;
            b.e = this.im;
            b.f = this.io;
            b.c = this.b8;
            b.a = this.b6;
            b.b = this.b7;
        };
        XamLinearGauge.prototype.f8 = function () {
            var a = this.de;
            if (igniteuiAngularCore.isNaN_(a)) {
                return;
            }
            var b = !(this.a2 == 0 || this.a2 == 5);
            var c = this.an.c;
            var d = this.ar;
            var e = d.i(a);
            this.f9(e, c, b, false);
            var f = this.ca;
            if (b && !igniteuiAngularCore.isNaN_(f)) {
                this.f9(d.i(f), c, false, true);
            }
        };
        XamLinearGauge.prototype.f9 = function (a, b, c, d) {
            var e = new LinearGraphNeedleParameters();
            e.c = this.ap;
            e.e = this.bg;
            e.d = this.as;
            e.u = this.ct;
            e.q = this.cp;
            e.v = this.cu;
            e.r = this.cq;
            e.t = this.cs;
            e.p = this.co;
            e.s = this.cr;
            e.w = this.cv;
            e.o = this.cn * 0.5 / this.c0();
            var f = new LinearGraphNeedleFrame();
            var g = this.is;
            var h = this.it;
            if (c) {
                g = igniteuiAngularCore.BrushUtil.s(g, this.b2);
                h = igniteuiAngularCore.BrushUtil.s(h, this.b2);
            }
            f.r = g;
            f.s = h;
            f.o = this.cw;
            var i = new LinearGraphNeedlePreparer();
            i.b = e;
            i.c(f);
            f.l = -90;
            f.p = a;
            if (d) {
                b.af = f;
            }
            else {
                b.ag = f;
            }
        };
        XamLinearGauge.prototype.iq = function (a, b) {
            if (b != null && b.count > 0) {
                return b.item(a % b.count);
            }
            else {
                return null;
            }
        };
        XamLinearGauge.prototype.gl = function (a) {
            var b = this.i4;
            var c = a.c;
            var d = this.a7;
            var e = c.j;
            var f = c.w;
            var g = c.v;
            var h = c.ad;
            var i = c.x;
            var j = this.a5;
            var k = c.i;
            var l = c.p;
            var m = c.o;
            var n = c.ac;
            var o = c.q;
            d.f = true;
            for (var p = 0; p < this.br.count; p++) {
                d.n(this.br._inner[p]);
            }
            this.br.clear();
            var q = this.c0();
            var r = this.dg();
            var _loop_3 = function (s) {
                var t = void 0, u = void 0, v, w;
                if (this_3.as == 1) {
                    t = b.left + q * f;
                    u = r - e[s];
                    v = b.left + q * g;
                    w = u;
                }
                else {
                    t = b.left + e[s];
                    u = q * (1 - f);
                    v = t;
                    w = q * (1 - g);
                }
                var x = d.a();
                var y = new igniteuiAngularCore.PathGeometry();
                var z = new igniteuiAngularCore.PathFigure();
                z._startPoint = { $type: igniteuiAngularCore.Point_$type, x: t, y: u };
                z._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: v, y: w };
                    return $ret;
                })()));
                y.c.add(z);
                x.an = y;
                x._stroke = h;
                x.ad = i;
                this_3.br.add(x);
            };
            var this_3 = this;
            for (var s = 0; s < e.length; s++) {
                _loop_3(s);
            }
            var _loop_4 = function (aa) {
                var ab = void 0, ac = void 0, ad, ae;
                if (this_4.as == 1) {
                    ab = b.left + q * l;
                    ac = r - k[aa];
                    ad = b.left + q * m;
                    ae = ac;
                }
                else {
                    ab = k[aa];
                    ac = q * (1 - l);
                    ad = ab;
                    ae = q * (1 - m);
                }
                var af = d.a();
                var ag = new igniteuiAngularCore.PathGeometry();
                var ah = new igniteuiAngularCore.PathFigure();
                ah._startPoint = { $type: igniteuiAngularCore.Point_$type, x: ab, y: ac };
                ah._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: ad, y: ae };
                    return $ret;
                })()));
                ag.c.add(ah);
                af.an = ag;
                af._stroke = n;
                af.ad = o;
                this_4.br.add(af);
            };
            var this_4 = this;
            for (var aa = 0; aa < k.length; aa++) {
                _loop_4(aa);
            }
            d.f = false;
        };
        XamLinearGauge.prototype.gi = function (a) {
            var b = this.i4;
            var c = a.c;
            var d = c.e;
            var e = c.d;
            var f = c.g;
            var g = c.h;
            var h = c.f;
            var i = c.c;
            var j = c.n;
            var k = this.a4;
            k.f = true;
            for (var l = 0; l < this.bp.count; l++) {
                k.n(this.bp._inner[l]);
            }
            this.bp.clear();
            var m = c.ab;
            var n = this.df();
            var o = this.dg();
            for (var p = 0; p < e.length; p++) {
                var q = void 0, r = void 0;
                if (this.as == 1) {
                    q = b.left + n * j;
                    r = b.top + o - d[p];
                }
                else {
                    q = b.left + d[p];
                    r = b.top + n * (1 - j);
                }
                var s = k.a();
                s.al = e[p];
                this.view.bt(s, m);
                var t = h[p];
                var u = i[p];
                var v = f[p];
                var w = g[p];
                this.view.bk(s, q + v, r + w);
                if (this.bi) {
                    this.view.a4(s);
                }
                else {
                    this.view.a5(s);
                }
                this.bp.add(s);
            }
            k.f = false;
        };
        XamLinearGauge.prototype.gk = function (a) {
            var b = a.c;
            var c = this.a6;
            c.f = true;
            for (var d = 0; d < this.bq.count; d++) {
                c.n(this.bq._inner[d]);
            }
            this.bq.clear();
            var e = this.c0();
            var f = this.dg();
            var g = this.ix();
            var h = this.view.co();
            if (igniteuiAngularCore.isNaN_(b.s) || igniteuiAngularCore.isNaN_(b.t) || igniteuiAngularCore.isNaN_(b.u) || igniteuiAngularCore.isNaN_(b.r)) {
                h.an = null;
            }
            else {
                var i = this.c3();
                h.an = b.ae(g, e, i, this.as);
                h._fill = this.iu;
                h._stroke = this.iv;
                h.ad = this.c7;
            }
            for (var j = 0; j < b.m.count; j++) {
                var k = b.m._inner[j];
                var l = c.a();
                l.an = k.k(g, e, f, this.as);
                l._fill = k.i;
                l._stroke = k.j;
                l.ad = k.h;
                this.bq.add(l);
            }
            this.view.bs(this.bq);
            c.f = false;
        };
        XamLinearGauge.prototype.gh = function (a) {
            var b = this.i3;
            var c = this.view.cl();
            var d = a.a;
            var e = this.as == 0 ? b.height : b.width;
            var f = this.as == 0 ? b.width : b.height;
            var g = d.g(e, f, this.as);
            c.an = g;
            c._fill = d.e;
            c._stroke = d.f;
            c.ad = d.c;
        };
        XamLinearGauge.prototype.bv = function (a) {
            var b = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
            for (var c = 0; c < a.count; c++) {
                b.add({ $type: igniteuiAngularCore.Point_$type, x: a._inner[c].x, y: a._inner[c].y });
            }
            return b;
        };
        XamLinearGauge.prototype.gj = function (a, b, c) {
            if (c) {
                this.bt = null;
                if (this.a2 == 0) {
                    return;
                }
            }
            else {
                this.bu = null;
            }
            var d = c ? this.view.cm() : this.view.cn();
            var e = this.de;
            if (igniteuiAngularCore.isNaN_(e) || e < this.b4 || e > this.b3) {
                d.an = null;
                return;
            }
            var f = this.c0();
            var g = this.dg();
            var h = f;
            var i = b.p;
            var j = 0;
            if (this.as == 1) {
                i = this.i4.left;
                j = g - b.p;
            }
            d.an = b.t(h, i, j);
            d._fill = b.r;
            d._stroke = b.s;
            d.ad = b.o;
            var k = new igniteuiAngularCore.PathVisualData(1, "needle", d);
            var l = k.getPoints(new igniteuiAngularCore.GetPointsSettings());
            if (l.count > 0) {
                var m = this.bv(l._inner[0]);
                var n = 1.7976931348623157E+308, o = 1.7976931348623157E+308;
                var p = -1.7976931348623157E+308, q = -1.7976931348623157E+308;
                for (var r = 0; r < m.count; r++) {
                    n = m._inner[r].x < n ? m._inner[r].x : n;
                    o = m._inner[r].y < o ? m._inner[r].y : o;
                    p = m._inner[r].x > p ? m._inner[r].x : p;
                    q = m._inner[r].y > q ? m._inner[r].y : q;
                }
                var s = new igniteuiAngularCore.Rect(2, { $type: igniteuiAngularCore.Point_$type, x: n, y: o }, { $type: igniteuiAngularCore.Point_$type, x: p, y: q });
                if (c) {
                    this.bt = m;
                    this.iz = s;
                }
                else {
                    this.bu = m;
                    this.i0 = s;
                }
            }
        };
        XamLinearGauge.prototype.f5 = function (a, b) {
            this.bc = true;
            this.view.br();
        };
        XamLinearGauge.prototype.fx = function (a, b) {
            this.bc = true;
            this.view.br();
        };
        XamLinearGauge.prototype.c0 = function () {
            if (this.as == 0) {
                return this.bj ? this.i5.height : this.i4.height;
            }
            return this.bj ? this.i5.width : this.i4.width;
        };
        XamLinearGauge.prototype.c3 = function () {
            if (this.as == 0) {
                return this.i5.width * (this.c1 - this.c6);
            }
            return this.i5.height * (this.c1 - this.c6);
        };
        XamLinearGauge.prototype.df = function () {
            if (this.as == 0) {
                return this.i5.height;
            }
            return this.i5.width;
        };
        XamLinearGauge.prototype.dg = function () {
            if (this.as == 0) {
                return this.i5.width;
            }
            return this.i5.height;
        };
        XamLinearGauge.prototype.c5 = function () {
            var a = this.c6;
            if (this.as == 0) {
                if (this.bg) {
                    a = 1 - this.c1;
                }
                return this.i5.left + this.i5.width * a;
            }
            if (this.bg) {
                a = 1 - this.c1;
            }
            return this.i5.top + this.i5.height * a;
        };
        XamLinearGauge.prototype.ix = function () {
            var a = this.i4.left;
            if (this.bj) {
                a = 0;
            }
            var b = this.c6;
            if (this.as == 0) {
                if (this.bg) {
                    b = 1 - this.c1;
                }
                return { $type: igniteuiAngularCore.Point_$type, x: a + this.i4.width * b, y: this.i4.top };
            }
            if (!this.bg) {
                b = 1 - this.c1;
            }
            return { $type: igniteuiAngularCore.Point_$type, x: a, y: this.i4.top + this.i4.height * b };
        };
        XamLinearGauge.prototype.f3 = function (a, b, c) {
            switch (a) {
                case XamLinearGauge.$$p[0]:
                case XamLinearGauge.$$p[3]:
                case XamLinearGauge.$$p[49]:
                case XamLinearGauge.$$p[53]:
                case XamLinearGauge.$$p[57]:
                case XamLinearGauge.$$p[24]:
                case XamLinearGauge.$$p[30]:
                case XamLinearGauge.$$p[40]:
                    this.view.a8(a, b, c);
                    break;
                case XamLinearGauge.$$p[44]:
                    this.view.bd(b, c);
                    break;
                case XamLinearGauge.$$p[47]:
                    this.view.be(b, c);
                    break;
                case "PixelScalingRatio":
                    if (igniteuiAngularCore.isNaN_(igniteuiAngularCore.DeviceUtils.a(this.cx))) {
                        this.b5 = 1;
                    }
                    else {
                        this.b5 = igniteuiAngularCore.DeviceUtils.a(this.cx);
                    }
                    break;
                case "ActualPixelScalingRatio":
                    this.view.bi();
                    break;
            }
            switch (a) {
                case XamLinearGauge.$$p[15]:
                case XamLinearGauge.$$p[16]:
                    if (this.d4 != null) {
                        this.aj = new igniteuiAngularCore.BindingFormatter();
                        this.aj.j = this.d4;
                        this.aj.d = this.ag;
                    }
                    else {
                        this.aj = null;
                    }
                    this.bc = true;
                    this.view.br();
                    break;
                case XamLinearGauge.$$p[65]:
                    if (this.valueChanged != null) {
                        this.valueChanged(this, new igniteuiAngularCore.DoubleValueChangedEventArgs(b, c));
                    }
                    this.bc = true;
                    this.view.br();
                    break;
                case XamLinearGauge.$$p[9]:
                    {
                        if (this.highlightValueChanged != null) {
                            this.highlightValueChanged(this, new igniteuiAngularCore.DoubleValueChangedEventArgs(b, c));
                        }
                        var d = this.a0 == 2;
                        this.gp();
                        var e = this.a0 == 2;
                        this.bc = true;
                        if (!d && e) {
                            this.a2 = 1;
                        }
                        else if (d && !e) {
                            this.a2 = 4;
                        }
                        this.view.br();
                        break;
                    }
                case XamLinearGauge.$$p[7]:
                    {
                        var f = this.a0 == 2;
                        this.gp();
                        var g = this.a0 == 2;
                        this.bc = true;
                        if (!f && g) {
                            this.a2 = 1;
                        }
                        else if (f && !g) {
                            this.a2 = 4;
                        }
                        this.view.br();
                        break;
                    }
                case XamLinearGauge.$$p[8]:
                    this.gq();
                    break;
                case "ActualHighlightValueOpacity":
                    this.bc = true;
                    this.view.br();
                    break;
                case XamLinearGauge.$$p[64]:
                    this.av.r = this.di;
                    this.view.br();
                    break;
                case "TransitionProgress":
                    if (this.dd >= 1) {
                        this.av.w();
                        var h = this.an;
                        this.an = this.ao;
                        this.ao = h;
                        this.f7();
                        this.f8();
                        this.ga();
                        this.f6();
                        this.gh(this.an);
                        this.gk(this.an);
                        this.gj(this.an, this.an.c.af, true);
                        this.gj(this.an, this.an.c.ag, false);
                        this.gl(this.an);
                        this.gi(this.an);
                        if (this.a2 == 5) {
                            this.ft();
                            this.view.br();
                            return;
                        }
                        else if (this.a2 == 2) {
                            this.a2 = 3;
                        }
                    }
                    this.am.d(this.dd, this.ao, this.an);
                    this.gh(this.am);
                    this.gk(this.am);
                    this.gj(this.am, this.am.c.af, true);
                    this.gj(this.am, this.am.c.ag, false);
                    this.gl(this.am);
                    this.gi(this.am);
                    this.view.as();
                    break;
                case XamLinearGauge.$$p[30]:
                case XamLinearGauge.$$p[35]:
                case XamLinearGauge.$$p[29]:
                case XamLinearGauge.$$p[41]:
                case XamLinearGauge.$$p[32]:
                case XamLinearGauge.$$p[37]:
                case XamLinearGauge.$$p[33]:
                case XamLinearGauge.$$p[38]:
                case XamLinearGauge.$$p[31]:
                case XamLinearGauge.$$p[36]:
                case XamLinearGauge.$$p[34]:
                case XamLinearGauge.$$p[39]:
                case XamLinearGauge.$$p[42]:
                case XamLinearGauge.$$p[40]:
                case XamLinearGauge.$$p[0]:
                case XamLinearGauge.$$p[3]:
                case XamLinearGauge.$$p[4]:
                case XamLinearGauge.$$p[1]:
                case XamLinearGauge.$$p[2]:
                case XamLinearGauge.$$p[49]:
                case XamLinearGauge.$$p[53]:
                case XamLinearGauge.$$p[55]:
                case XamLinearGauge.$$p[51]:
                case XamLinearGauge.$$p[52]:
                case XamLinearGauge.$$p[57]:
                case XamLinearGauge.$$p[24]:
                case XamLinearGauge.$$p[44]:
                case XamLinearGauge.$$p[47]:
                case XamLinearGauge.$$p[22]:
                case XamLinearGauge.$$p[45]:
                case XamLinearGauge.$$p[46]:
                case XamLinearGauge.$$p[10]:
                case XamLinearGauge.$$p[17]:
                case XamLinearGauge.$$p[14]:
                case XamLinearGauge.$$p[18]:
                case XamLinearGauge.$$p[19]:
                case XamLinearGauge.$$p[20]:
                case XamLinearGauge.$$p[61]:
                case XamLinearGauge.$$p[62]:
                case XamLinearGauge.$$p[59]:
                case XamLinearGauge.$$p[58]:
                case XamLinearGauge.$$p[60]:
                case XamLinearGauge.$$p[27]:
                case XamLinearGauge.$$p[26]:
                case XamLinearGauge.$$p[25]:
                case XamLinearGauge.$$p[28]:
                    this.bc = true;
                    this.view.br();
                    break;
                case XamLinearGauge.$$p[48]:
                    var i = b;
                    var j = c;
                    if (i != null) {
                        var k = i;
                        k.collectionChanged = igniteuiAngularCore.delegateRemove(k.collectionChanged, igniteuiAngularCore.runOn(this, this.ge));
                    }
                    if (j != null) {
                        var l = j;
                        l.collectionChanged = igniteuiAngularCore.delegateCombine(l.collectionChanged, igniteuiAngularCore.runOn(this, this.ge));
                    }
                    this.bc = true;
                    this.view.br();
                    break;
                case XamLinearGauge.$$p[43]:
                case XamLinearGauge.$$p[13]:
                case XamLinearGauge.$$p[23]:
                case XamLinearGauge.$$p[21]:
                case XamLinearGauge.$$p[50]:
                case XamLinearGauge.$$p[54]:
                    this.b4 = Math.min(this.ci, this.ch);
                    this.b3 = Math.max(this.ci, this.ch);
                    var m = this.c5();
                    this.ar = new LinearGraphScaler(this.b4, this.b3, m, m + this.c3(), this.bg);
                    this.bc = true;
                    this.view.br();
                    break;
                case XamLinearGauge.$$p[5]:
                case XamLinearGauge.$$p[6]:
                    this.view.b1();
                    this.bc = true;
                    this.view.br();
                    break;
            }
            this.f4(a);
        };
        XamLinearGauge.prototype.ge = function (a, b) {
            var e_1, _a, e_2, _b;
            if (b.oldItems != null) {
                try {
                    for (var _c = tslib.__values(igniteuiAngularCore.fromEn(b.oldItems)), _d = _c.next(); !_d.done; _d = _c.next()) {
                        var c = _d.value;
                        c.propertyChanged = igniteuiAngularCore.delegateRemove(c.propertyChanged, igniteuiAngularCore.runOn(this, this.gd));
                    }
                }
                catch (e_1_1) {
                    e_1 = { error: e_1_1 };
                }
                finally {
                    try {
                        if (_d && !_d.done && (_a = _c.return))
                            _a.call(_c);
                    }
                    finally {
                        if (e_1)
                            throw e_1.error;
                    }
                }
            }
            if (b.newItems != null) {
                try {
                    for (var _e = tslib.__values(igniteuiAngularCore.fromEn(b.newItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
                        var d = _f.value;
                        d.propertyChanged = igniteuiAngularCore.delegateCombine(d.propertyChanged, igniteuiAngularCore.runOn(this, this.gd));
                    }
                }
                catch (e_2_1) {
                    e_2 = { error: e_2_1 };
                }
                finally {
                    try {
                        if (_f && !_f.done && (_b = _e.return))
                            _b.call(_e);
                    }
                    finally {
                        if (e_2)
                            throw e_2.error;
                    }
                }
            }
            this.bc = true;
            this.view.br();
        };
        XamLinearGauge.prototype.gd = function (a, b) {
            this.bc = true;
            this.view.br();
        };
        XamLinearGauge.prototype.fu = function (a, b) {
            this.bc = true;
            this.view.br();
        };
        XamLinearGauge.prototype.refresh = function () {
            this.bc = true;
            this.view.br();
        };
        XamLinearGauge.prototype.ay = function () {
            return igniteuiAngularCore.FontUtil.toFontInfo(this.view.ah, this.dt);
        };
        Object.defineProperty(XamLinearGauge.prototype, "cx", {
            get: function () {
                return this.b0;
            },
            set: function (a) {
                var b = this.b0;
                this.b0 = a;
                this.f3("PixelScalingRatio", b, this.b0);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamLinearGauge.prototype, "b5", {
            get: function () {
                return this.bz;
            },
            set: function (a) {
                var b = this.bz;
                this.bz = a;
                this.f3("ActualPixelScalingRatio", b, this.bz);
            },
            enumerable: false,
            configurable: true
        });
        XamLinearGauge.$t = igniteuiAngularCore.markType(XamLinearGauge, 'XamLinearGauge', igniteuiAngularCore.Control.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        XamLinearGauge.$$p = igniteuiAngularCore.markDep(igniteuiAngularCore.DependencyProperty, igniteuiAngularCore.PropertyMetadata, XamLinearGauge, 'f3', ['BackingBrush:im:gr', [igniteuiAngularCore.Brush.$, null], 'BackingInnerExtent:b6:gs', [1, 0], 'BackingOuterExtent:b7:gt', [1, 1], 'BackingOutline:io:gu', [igniteuiAngularCore.Brush.$, null], 'BackingStrokeThickness:b8:gv', [1, 2], 'FontBrush:ip:gw', [igniteuiAngularCore.Brush.$, null], 'Font:dt:gx', [2, null], 'HighlightValueDisplayMode:a1:gy', [igniteuiAngularCore.HighlightedValueDisplayMode_$type, igniteuiAngularCore.enumGetBox(igniteuiAngularCore.HighlightedValueDisplayMode_$type, 0)], 'HighlightValueOpacity:cb:gz', [1, 0.5], 'HighlightValue:ca:g0', [1, NaN], 'Interval:cc:g1', [1, NaN], 'IsHighlightNeedleDraggingEnabled:be:g2', [0, false], 'IsNeedleDraggingEnabled:bf:g3', [0, false], 'IsScaleInverted:bg:g4', [0, false], 'LabelExtent:cd:g5', [1, 0], 'LabelFormat:d4:g6', [2, null], 'LabelFormatSpecifiers:ag:g7', [igniteuiAngularCore.Array_$type, null], 'LabelInterval:ce:g8', [1, NaN], 'LabelsPostInitial:cf:g9', [1, 0], 'LabelsPreTerminal:cg:ha', [1, 0], 'LabelsVisible:bi:hb', [0, true], 'MaximumValue:ch:hc', [1, 100], 'MergeViewports:bj:hd', [0, false], 'MinimumValue:ci:he', [1, 0], 'MinorTickBrush:ir:hf', [igniteuiAngularCore.Brush.$, null], 'MinorTickCount:cj:hg', [1, 4], 'MinorTickEndExtent:ck:hh', [1, 0.35], 'MinorTickStartExtent:cl:hi', [1, 0.05], 'MinorTickStrokeThickness:cm:hj', [1, 1], 'NeedleBreadth:cn:hk', [1, 6], 'NeedleBrush:is:hl', [igniteuiAngularCore.Brush.$, null], 'NeedleInnerBaseWidth:co:hm', [1, NaN], 'NeedleInnerExtent:cp:hn', [1, NaN], 'NeedleInnerPointExtent:cq:ho', [1, NaN], 'NeedleInnerPointWidth:cr:hp', [1, NaN], 'NeedleName:ep:hq', [2, null], 'NeedleOuterBaseWidth:cs:hr', [1, NaN], 'NeedleOuterExtent:ct:hs', [1, NaN], 'NeedleOuterPointExtent:cu:ht', [1, NaN], 'NeedleOuterPointWidth:cv:hu', [1, NaN], 'NeedleOutline:it:hv', [igniteuiAngularCore.Brush.$, null], 'NeedleShape:ap:hw', [LinearGraphNeedleShape_$type, igniteuiAngularCore.enumGetBox(LinearGraphNeedleShape_$type, 3)], 'NeedleStrokeThickness:cw:hx', [1, 1], 'Orientation:as:hy', [LinearScaleOrientation_$type, igniteuiAngularCore.enumGetBox(LinearScaleOrientation_$type, 0)], 'RangeBrushes:ah:hz', [igniteuiAngularCore.BrushCollection.$, null], 'RangeInnerExtent:cy:h0', [1, 0.05], 'RangeOuterExtent:cz:h1', [1, 0.65], 'RangeOutlines:ai:h2', [igniteuiAngularCore.BrushCollection.$, null], 'Ranges::h3', [LinearGraphRangeCollection.$, null], 'ScaleBrush:iu:h4', [igniteuiAngularCore.Brush.$, null], 'ScaleEndExtent:c1:h5', [1, 0.95], 'ScaleInnerExtent:c2:h6', [1, 0.05], 'ScaleOuterExtent:c4:h7', [1, 0.65], 'ScaleOutline:iv:h8', [igniteuiAngularCore.Brush.$, null], 'ScaleStartExtent:c6:h9', [1, 0.05], 'ScaleStrokeThickness:c7:ia', [1, 1], 'ShowToolTipTimeout:dh:ib', [1, 500], 'TickBrush:iw:ic', [igniteuiAngularCore.Brush.$, null], 'TickEndExtent:c8:id', [1, 0.65], 'TickStartExtent:db:ih', [1, 0.05], 'TickStrokeThickness:dc:ii', [1, 2], 'TicksPostInitial:c9:ie', [1, 0], 'TicksPreTerminal:da:ig', [1, 0], 'ToolTip::ij', [4, null], 'TransitionDuration:di:ik', [1, 0], 'Value:de:il', [1, NaN]]);
        return XamLinearGauge;
    }(igniteuiAngularCore.Control));
    /**
     * @hidden
     */
    var XamLinearGaugeView = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamLinearGaugeView, _super);
        function XamLinearGaugeView(a) {
            var _this = _super.call(this) || this;
            _this.ap = 0;
            _this.ao = 0;
            _this.m = null;
            _this.i = null;
            _this.aj = null;
            _this.p = null;
            _this.ah = null;
            _this.aa = null;
            _this.z = null;
            _this.y = null;
            _this.ab = null;
            _this.cj = null;
            _this.ci = null;
            _this.ck = null;
            _this.ch = null;
            _this.ca = null;
            _this.cb = null;
            _this.b7 = null;
            _this.b8 = null;
            _this.cc = null;
            _this.cd = null;
            _this.ce = null;
            _this.b9 = null;
            _this.c = null;
            _this.d = null;
            _this.e = null;
            _this.f = null;
            _this.q = false;
            _this.v = null;
            _this.a = ["needle", "backing", "scale", "tick", "minortick", "label"];
            _this.u = false;
            _this.t = false;
            _this.ai = null;
            _this.k = null;
            _this.ak = 0;
            _this.am = 0;
            _this.aq = null;
            _this.an = -1;
            _this.cf = null;
            _this.al = 0;
            _this.x = null;
            _this.b6 = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "black";
                return $ret;
            })());
            _this.r = false;
            _this.n = null;
            _this.b5 = null;
            _this.ac = 0;
            _this.ad = 1;
            _this.m = a;
            _this.v = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Dictionary$2.$.specialize(igniteuiAngularCore.String_$type, igniteuiAngularCore.Brush.$), 0);
            _this.cj = new igniteuiAngularCore.Path();
            _this.ci = new igniteuiAngularCore.Path();
            _this.ck = new igniteuiAngularCore.Path();
            _this.ch = new igniteuiAngularCore.Path();
            _this.aa = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.z = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.y = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.ab = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            return _this;
        }
        XamLinearGaugeView.prototype.a3 = function () {
            var a = igniteuiAngularCore.CanvasScalingHelpers.b(this.ah);
            this.m.b5 = igniteuiAngularCore.CanvasScalingHelpers.a(this.m.cx, this.m.b5, a);
            if (this.i != null) {
                igniteuiAngularCore.CanvasScalingHelpers.h(this.i, a);
            }
        };
        XamLinearGaugeView.prototype.bc = function () {
            this.k = new LinearGraphTooltipDataContext();
            this.al = this.m.dh;
            this.a3();
        };
        XamLinearGaugeView.prototype.s = function () {
            return true;
        };
        XamLinearGaugeView.prototype.cn = function () {
            return this.cj;
        };
        XamLinearGaugeView.prototype.cm = function () {
            return this.ci;
        };
        XamLinearGaugeView.prototype.co = function () {
            return this.ck;
        };
        XamLinearGaugeView.prototype.cl = function () {
            return this.ch;
        };
        XamLinearGaugeView.prototype.a1 = function () {
            this.q = true;
            var a = ["#778899", "#EBEDEF", "#e0e0e0", "#617583", "rgba(100,107,114,.74)", "rgba(100,107,114,.74)"];
            var b = ["#778899", "#B2B9C0", "#e0e0e0", null, null, null];
            var c = ((function () {
                var $ret = new igniteuiAngularCore.List$1(igniteuiAngularCore.Array_$type, 0);
                $ret.add(a);
                $ret.add(b);
                return $ret;
            })());
            this.v.clear();
            var d = this.a.length;
            var _loop_5 = function (e) {
                var f = this_5.a[e];
                var g = "ui-lineargauge-" + f;
                var h = "ui-lineargauge-" + f + "-fill";
                var i = "ui-lineargauge-" + f + "-outline";
                var j;
                if (!((function () { var k = XamLinearGaugeView.w.tryGetValue(h, j); j = k.p1; return k.ret; })())) {
                    j = igniteuiAngularCore.BrushUtil.m(h, g, "background-color", this_5.ah, a[e]);
                    XamLinearGaugeView.w.addItem(h, j);
                }
                var k;
                if (!((function () { var l = XamLinearGaugeView.w.tryGetValue(i, k); k = l.p1; return l.ret; })())) {
                    k = igniteuiAngularCore.BrushUtil.m(i, g, "border-top-color", this_5.ah, b[e]);
                    XamLinearGaugeView.w.addItem(i, k);
                }
                var l = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Brush.$, 0);
                l.item("fill", j);
                l.item("outline", k);
                this_5.v.item(this_5.a[e], l);
            };
            var this_5 = this;
            for (var e = 0; e < d; e++) {
                _loop_5(e);
            }
            this.b0();
            if (XamLinearGaugeView.g == null || XamLinearGaugeView.h == null) {
                var m = igniteuiAngularCore.BrushUtil.i("ui-lineargauge-range-fill-palette-", "ui-lineargauge-range-outline-palette-", "ui-lineargauge-range-palette-", this.ah, XamLinearGaugeView.g, XamLinearGaugeView.h, ["#216E99", "#216E99", "#44acd6", "#44acd6", "#cecece", "#cecece"]);
                XamLinearGaugeView.g = m.p4;
                XamLinearGaugeView.h = m.p5;
            }
            this.c = XamLinearGaugeView.g;
            this.d = XamLinearGaugeView.h;
            if (this.e == null) {
                this.m.ah = this.c;
            }
            if (this.f == null) {
                this.m.ai = this.d;
            }
            this.q = false;
        };
        XamLinearGaugeView.prototype.b0 = function () {
            this.q = true;
            var a = this.a.length;
            for (var b = 0; b < a; b++) {
                var c = this.a[b];
                this.bz(c, this.v.item(c));
            }
            this.q = false;
        };
        XamLinearGaugeView.prototype.bz = function (a, b) {
            var c = b.item("fill");
            var d = b.item("outline");
            switch (a) {
                case "needle":
                    if (this.ca == null) {
                        this.m.is = c;
                    }
                    if (this.cb == null) {
                        this.m.it = d;
                    }
                    break;
                case "scale":
                    if (this.cc == null) {
                        this.m.iu = c;
                    }
                    if (this.cd == null) {
                        this.m.iv = d;
                    }
                    break;
                case "backing":
                    if (this.b7 == null) {
                        this.m.im = c;
                    }
                    if (this.b8 == null) {
                        this.m.io = d;
                    }
                    break;
                case "tick":
                    if (this.ce == null) {
                        this.m.iw = c;
                    }
                    break;
                case "minortick":
                    if (this.b9 == null) {
                        this.m.ir = c;
                    }
                    break;
                case "label":
                    this.b6 = c;
                    break;
            }
        };
        XamLinearGaugeView.prototype.a8 = function (a, b, c) {
            var d = b;
            var e = c;
            if (!this.q) {
                switch (a) {
                    case XamLinearGauge.$$p[30]:
                        this.ca = e;
                        break;
                    case XamLinearGauge.$$p[40]:
                        this.cb = e;
                        break;
                    case XamLinearGauge.$$p[0]:
                        this.b7 = e;
                        break;
                    case XamLinearGauge.$$p[3]:
                        this.b8 = e;
                        break;
                    case XamLinearGauge.$$p[49]:
                        this.cc = e;
                        break;
                    case XamLinearGauge.$$p[53]:
                        this.cd = e;
                        break;
                    case XamLinearGauge.$$p[57]:
                        this.ce = e;
                        break;
                    case XamLinearGauge.$$p[24]:
                        this.b9 = e;
                        break;
                }
                if (e == null) {
                    this.b0();
                }
            }
        };
        XamLinearGaugeView.prototype.bd = function (a, b) {
            if (!this.q) {
                this.e = b;
                if (this.e == null) {
                    this.m.ah = this.c;
                }
            }
        };
        XamLinearGaugeView.prototype.be = function (a, b) {
            if (!this.q) {
                this.f = b;
                if (this.f == null) {
                    this.m.ai = this.d;
                }
            }
        };
        XamLinearGaugeView.prototype.b = function (a, b) {
            this.ah.startCSSQuery();
            for (var c = 0; c < b.length; c++) {
                b[c] = this.ah.getCssDefaultPropertyValue(a, b[c]);
            }
            this.ah.endCSSQuery();
            return b;
        };
        XamLinearGaugeView.prototype.bv = function () {
            this.a1();
            this.b1();
            this.br();
        };
        XamLinearGaugeView.prototype.cg = function (a) {
            var b = igniteuiAngularCore.CanvasGestureDOMEventProxy.c5(this.ah.rootWrapper);
            return { $type: igniteuiAngularCore.Point_$type, x: a.x - b.left, y: a.y - b.top };
        };
        XamLinearGaugeView.prototype.bu = function (a, b, c, d) {
            this.cf = a;
            this.an = c;
            this.aq = d;
            this.bq();
            if (this.ah != null) {
                this.am = this.ah.setTimeout(igniteuiAngularCore.runOn(this, this.b2), this.al);
            }
            else {
                this.am = window.setTimeout(igniteuiAngularCore.runOn(this, this.b2), this.al);
            }
            this.t = true;
        };
        XamLinearGaugeView.prototype.a2 = function () {
            if (this.t) {
                if (this.ah != null) {
                    this.ah.clearTimeout(this.am);
                }
                else {
                    window.clearTimeout(this.am);
                }
                this.t = false;
            }
            if (this.u) {
                var a = this.m.toolTip;
                if (this.ah != null) {
                    this.ah.clearTimeout(this.ak);
                }
                else {
                    window.clearTimeout(this.ak);
                }
                a.hide();
                this.u = false;
                this.k = null;
            }
            this.al = this.m.dh;
        };
        XamLinearGaugeView.prototype.bq = function () {
            if (this.t) {
                if (this.ah != null) {
                    this.ah.clearTimeout(this.am);
                }
                else {
                    window.clearTimeout(this.am);
                }
            }
            if (this.u) {
                var a = this.m.toolTip;
                if (this.ah != null) {
                    this.ah.clearTimeout(this.ak);
                }
                else {
                    window.clearTimeout(this.ak);
                }
                a.hide();
                this.u = false;
                this.al = igniteuiAngularCore.intDivide(this.m.dh, 2);
            }
        };
        XamLinearGaugeView.prototype.b2 = function () {
            var _this = this;
            if (this.t) {
                if (this.ah != null) {
                    this.ah.clearTimeout(this.am);
                }
                else {
                    window.clearTimeout(this.am);
                }
                this.t = false;
            }
            var a = this.an;
            var b = this.aq;
            var c = this.cf;
            if (this.ah != null) {
                this.ak = this.ah.setTimeout(igniteuiAngularCore.runOn(this, this.a2), 10 * this.m.dh);
            }
            else {
                this.ak = window.setTimeout(igniteuiAngularCore.runOn(this, this.a2), 10 * this.m.dh);
            }
            var d = this.m.ranges._inner[a];
            if (this.ai != this.m.toolTip) {
                if (this.ai != null) {
                    this.ai.remove();
                }
                this.ai = this.m.toolTip;
                this.ai.setStyleProperty("z-index", "10000");
                this.ai.setStyleProperty("position", "absolute");
                this.ah.append(this.ai);
            }
            this.k = this.j(b, a);
            var context_ = this.k;
            var tooltip_ = this.ai;
            var tooltipType_ = b;
            if (tooltip_.updateToolTip) {
                tooltip_.updateToolTip(context_, tooltipType_);
            }
            ;
            var e = this.ai.findByClass(".ui-tooltip-container");
            if (e != null && e.length > 0) {
                e[0].setAttribute("style", null);
            }
            var f = "ui-simple-default-tooltip-content";
            var g = this.ai.findByClass("." + f);
            if (g != null && g.length > 0) {
                var h = ["border-top-color", "border-top-width", "border-top-style", "border-top-left-radius", "background-color", "padding-top", "font-weight"];
                var i = ["border-color", "border-width", "border-style", "border-radius", "background-color", "padding", "font-weight"];
                var j = ((function () {
                    var $ret = new igniteuiAngularCore.List$1(igniteuiAngularCore.String_$type, 0);
                    $ret.add(_this.k.brush.color.colorString);
                    $ret.add("2px");
                    $ret.add("solid");
                    $ret.add("4px");
                    $ret.add("rgba(230, 230, 230, 0.74)");
                    $ret.add("4px");
                    $ret.add("bold");
                    return $ret;
                })());
                var k = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.String_$type, 0);
                var l = new Array(h.length);
                igniteuiAngularCore.arrayCopy1(h, 0, l, 0, h.length);
                this.b(f, l);
                for (var m = 0; m < l.length; m++) {
                    this.ai.setStyleProperty(i[m], (l[m] == null) ? j._inner[m] : l[m]);
                }
            }
            this.ai.setStyleProperty("top", (c.y + 15).toString() + "px").setStyleProperty("left", (c.x + 15).toString() + "px");
            this.ai.show();
            this.u = true;
        };
        XamLinearGaugeView.prototype.j = function (a, b) {
            var c = new LinearGraphTooltipDataContext();
            switch (a) {
                case "range":
                    var d = this.m.ranges._inner[b];
                    c.item = d;
                    c.itemName = d.u;
                    c.label = d.u + ": " + d.o.toString() + "-" + d.j.toString();
                    var e = d.an;
                    var f = d.ao;
                    c.brush = e != null ? e : this.m.iq(b, this.c);
                    c.outline = f != null ? f : this.m.iq(b, this.d);
                    c.thickness = d.p;
                    break;
                case "needle":
                    c.item = this.m.de;
                    c.itemName = this.m.ep;
                    c.label = this.m.ep != null ? this.m.ep + ": " + this.m.de.toString() : this.m.de.toString();
                    c.brush = this.m.is;
                    c.outline = this.m.it;
                    c.thickness = this.m.cw;
                    break;
            }
            return c;
        };
        XamLinearGaugeView.prototype.a9 = function (a) {
            if (a == null) {
                this.aj = null;
                this.ah = null;
                this.ai = null;
                this.p = null;
                if (this.m.a9) {
                    this.m.av.w();
                }
                this.at();
                return;
            }
            var b = a;
            this.ah = b;
            this.m.av.u(this.ah);
            this.ah.rootWrapper.addClass("ui-lineargauge-container");
            this.ad = (igniteuiAngularCore.isNaN_(this.m.cx) ? this.m.b5 : this.m.cx);
            var c = this.ad;
            var d = Math.round(b.rootWrapper.width());
            var e = Math.round(b.rootWrapper.height());
            var f = d * c;
            var g = e * c;
            this.ah.rootWrapper.setStyleProperty("position", "relative");
            var h = this.ah.createElement("canvas");
            h.setStyleProperty("position", "absolute");
            this.ah.append(h);
            this.ap = f;
            this.ao = g;
            h.setAttribute("width", f.toString());
            h.setAttribute("height", g.toString());
            h.setStyleProperty("width", d.toString() + "px");
            h.setStyleProperty("height", e.toString() + "px");
            h.setStyleProperty("left", "0px");
            h.setStyleProperty("top", "0px");
            this.m.i5 = new igniteuiAngularCore.Rect(0, 0, 0, d, e);
            this.m.i3 = new igniteuiAngularCore.Rect(0, 0, 0, d, e);
            this.aj = h;
            var i = this.ah.get2DCanvasContext(this.aj);
            this.p = new igniteuiAngularCore.RenderingContext(new igniteuiAngularCore.CanvasViewRenderer(), i);
            this.a1();
            this.b1();
            this.p.af(this.n);
            this.at();
            if (igniteuiAngularCore.TypeRegistrar.isRegistered("CanvasGestureDOMEventProxy")) {
                this.i = igniteuiAngularCore.typeCast(igniteuiAngularCore.EventProxy.$, igniteuiAngularCore.TypeRegistrar.create("CanvasGestureDOMEventProxy", this.ah.rootWrapper, this.ah, false));
            }
            if (this.i != null) {
                var j = this.i;
                j.onMouseOver = igniteuiAngularCore.delegateCombine(j.onMouseOver, igniteuiAngularCore.runOn(this, this.ay));
                var k = this.i;
                k.onMouseLeave = igniteuiAngularCore.delegateCombine(k.onMouseLeave, igniteuiAngularCore.runOn(this, this.ax));
                var l = this.i;
                l.onContactStarted = igniteuiAngularCore.delegateCombine(l.onContactStarted, igniteuiAngularCore.runOn(this, this.aw));
                var m = this.i;
                m.onContactMoved = igniteuiAngularCore.delegateCombine(m.onContactMoved, igniteuiAngularCore.runOn(this, this.av));
                var n = this.i;
                n.onContactCompleted = igniteuiAngularCore.delegateCombine(n.onContactCompleted, igniteuiAngularCore.runOn(this, this.au));
            }
            this.bp();
        };
        XamLinearGaugeView.prototype.au = function (a, b) {
            if (this.m != null) {
                this.m.onMouseUp(a);
            }
        };
        XamLinearGaugeView.prototype.av = function (a, b) {
            if (this.m != null) {
                this.m.onMouseMove(a, b);
            }
        };
        XamLinearGaugeView.prototype.aw = function (a, b) {
            if (this.m != null) {
                this.m.onMouseDown(a, b);
            }
        };
        XamLinearGaugeView.prototype.ay = function (a, b, c) {
            if (this.m != null) {
                this.m.onMouseOver(a, b, c);
            }
        };
        XamLinearGaugeView.prototype.ax = function (a) {
            if (this.m != null) {
                this.m.onMouseLeave();
            }
        };
        XamLinearGaugeView.prototype.at = function () {
            if (this.i != null) {
                var a = this.i;
                a.onMouseOver = igniteuiAngularCore.delegateRemove(a.onMouseOver, igniteuiAngularCore.runOn(this, this.ay));
                var b = this.i;
                b.onMouseLeave = igniteuiAngularCore.delegateRemove(b.onMouseLeave, igniteuiAngularCore.runOn(this, this.ax));
                var c = this.i;
                c.onContactStarted = igniteuiAngularCore.delegateRemove(c.onContactStarted, igniteuiAngularCore.runOn(this, this.aw));
                var d = this.i;
                d.onContactMoved = igniteuiAngularCore.delegateRemove(d.onContactMoved, igniteuiAngularCore.runOn(this, this.av));
                var e = this.i;
                e.onContactCompleted = igniteuiAngularCore.delegateRemove(e.onContactCompleted, igniteuiAngularCore.runOn(this, this.au));
                this.i.aw();
            }
        };
        XamLinearGaugeView.prototype.ba = function () {
            this.a3();
            var a = Math.round(this.ah.rootWrapper.width());
            var b = Math.round(this.ah.rootWrapper.height());
            this.m.i5 = new igniteuiAngularCore.Rect(0, 0, 0, a, b);
            this.m.i3 = new igniteuiAngularCore.Rect(0, 0, 0, a, b);
            if (this.i != null) {
                this.i.bm = this.m.i5;
            }
        };
        XamLinearGaugeView.prototype.as = function () {
            this.bp();
        };
        XamLinearGaugeView.prototype.bs = function (a) {
            this.x = a;
        };
        XamLinearGaugeView.prototype.bp = function () {
            var a = this.m.i5.width;
            var b = this.m.i5.height;
            var c = a * this.ad;
            var d = b * this.ad;
            if (this.ap != a || this.ao != b) {
                this.aj.setAttribute("width", c.toString());
                this.aj.setAttribute("height", d.toString());
                this.aj.setStyleProperty("width", a.toString() + "px");
                this.aj.setStyleProperty("height", b.toString() + "px");
                this.ap = igniteuiAngularCore.truncate(Math.round(c));
                this.ao = igniteuiAngularCore.truncate(Math.round(d));
            }
            if (this.p.d && this.ad != 1) {
                this.p.aa();
                this.p.ab(this.ad, this.ad);
            }
            this.p.l(this.m.i5.left, this.m.i5.top, this.m.i5.width, this.m.i5.height);
            this.p.t(this.ch);
            this.p.t(this.ck);
            if (this.x != null) {
                for (var e = 0; e < this.x.count; e++) {
                    this.p.t(this.x._inner[e]);
                }
            }
            for (var f = 0; f < this.y.count; f++) {
                this.p.af(this.n);
                this.p.x(this.y._inner[f]);
            }
            for (var g = 0; g < this.z.count; g++) {
                this.p.t(this.z._inner[g]);
            }
            this.p.t(this.cj);
            this.p.t(this.ci);
            if (this.p.d && this.ad != 1) {
                this.p.z();
            }
        };
        XamLinearGaugeView.prototype.b1 = function () {
            if (this.m.dt != null) {
                this.n = this.m.ay();
            }
            else {
                this.n = igniteuiAngularCore.FontUtil.getFont(this.ah);
            }
            this.ac = this.ae(this.n);
            if (this.m.ip == null) {
                var a = this.ah.rootWrapper.getStyleProperty("color");
                if (igniteuiAngularCore.stringIsNullOrEmpty(a) == false) {
                    this.b5 = new igniteuiAngularCore.Brush();
                    this.b5._fill = a;
                    this.m.ip = this.b5;
                }
            }
            if (this.p != null) {
                this.p.af(this.n);
            }
        };
        XamLinearGaugeView.prototype.af = function (a) {
            var b = igniteuiAngularCore.typeCast(igniteuiAngularCore.TextBlock.$, a);
            if (b != null && b.al != null) {
                return this.p.f(b) + 0;
            }
            return 0;
        };
        XamLinearGaugeView.prototype.cr = function (a) {
            if (igniteuiAngularCore.isNaN_(this.ac)) {
                this.ac = this.ae(null);
            }
            var b = this.af(a);
            var c = this.ac;
            return new igniteuiAngularCore.Size(1, b, c);
        };
        XamLinearGaugeView.prototype.bt = function (a, b) {
            if (b != null) {
                a.ao = b;
            }
            else {
                a.ao = this.b6;
            }
        };
        XamLinearGaugeView.prototype.bk = function (a, b, c) {
            a.n = b;
            a.o = c;
        };
        XamLinearGaugeView.prototype.bj = function (a, b) {
        };
        XamLinearGaugeView.prototype.bl = function (a, b) {
        };
        XamLinearGaugeView.prototype.ae = function (a) {
            return igniteuiAngularCore.FontUtil.getCurrentFontHeight(this.ah, a);
        };
        XamLinearGaugeView.prototype.br = function () {
            if (!this.r) {
                this.r = true;
                window.setTimeout(igniteuiAngularCore.runOn(this, this.ar), 0);
            }
        };
        XamLinearGaugeView.prototype.ar = function () {
            if (this.r) {
                this.r = false;
                this.m.fo();
            }
        };
        XamLinearGaugeView.prototype.flush = function () {
            if (this.r) {
                this.ar();
            }
        };
        XamLinearGaugeView.prototype.o = function (a, b) {
            return igniteuiAngularCore.FontUtil.getFontInfo(this.ah, a, b);
        };
        XamLinearGaugeView.prototype.az = function (a) {
            var e_3, _a, e_4, _b, e_5, _c;
            a.scalePath = new igniteuiAngularCore.PathVisualData(1, "Scale", this.ck);
            a.needlePath = new igniteuiAngularCore.PathVisualData(1, "Needle", this.cj);
            a.highlightNeedlePath = new igniteuiAngularCore.PathVisualData(1, "HighlightNeedle", this.ci);
            a.backingPath = new igniteuiAngularCore.PathVisualData(1, "Backing", this.ch);
            var b = this.n;
            try {
                for (var _d = tslib.__values(igniteuiAngularCore.fromEnum(this.y)), _e = _d.next(); !_e.done; _e = _d.next()) {
                    var c = _e.value;
                    if (c._visibility == 0) {
                        var d = this.o(c, b);
                        var e = new LinearGraphScaleLabelVisualData();
                        e.labelValue = c.al;
                        e.labelPosition = igniteuiAngularCore.PointData.b({ $type: igniteuiAngularCore.Point_$type, x: c.n, y: c.o });
                        e.labelSize = igniteuiAngularCore.SizeData.b(this.cr(c));
                        e.appearance = igniteuiAngularCore.AppearanceHelper.c(c, d);
                        a.scaleLabels.add(e);
                    }
                }
            }
            catch (e_3_1) {
                e_3 = { error: e_3_1 };
            }
            finally {
                try {
                    if (_e && !_e.done && (_a = _d.return))
                        _a.call(_d);
                }
                finally {
                    if (e_3)
                        throw e_3.error;
                }
            }
            try {
                for (var _f = tslib.__values(igniteuiAngularCore.fromEnum(this.z)), _g = _f.next(); !_g.done; _g = _f.next()) {
                    var f = _g.value;
                    if (f._visibility == 0) {
                        var g = new LinearGraphScaleTickmarkVisualData();
                        g.tickPath = new igniteuiAngularCore.PathVisualData(1, "tickmarks", f);
                        a.scaleTickmarks.add(g);
                    }
                }
            }
            catch (e_4_1) {
                e_4 = { error: e_4_1 };
            }
            finally {
                try {
                    if (_g && !_g.done && (_b = _f.return))
                        _b.call(_f);
                }
                finally {
                    if (e_4)
                        throw e_4.error;
                }
            }
            try {
                for (var _h = tslib.__values(igniteuiAngularCore.fromEnum(this.x)), _j = _h.next(); !_j.done; _j = _h.next()) {
                    var h = _j.value;
                    if (h._visibility == 0) {
                        var i = new LinearGraphRangeVisualData();
                        var j = new igniteuiAngularCore.PathVisualData(1, "range", h);
                        i.rangePath = j;
                        a.ranges.add(i);
                    }
                }
            }
            catch (e_5_1) {
                e_5 = { error: e_5_1 };
            }
            finally {
                try {
                    if (_j && !_j.done && (_c = _h.return))
                        _c.call(_h);
                }
                finally {
                    if (e_5)
                        throw e_5.error;
                }
            }
        };
        XamLinearGaugeView.prototype.a7 = function () {
            this.a3();
            if (this.i != null) {
                this.i.au(this.ah.rootWrapper, "");
            }
        };
        XamLinearGaugeView.prototype.bb = function () {
            if (this.i != null && this.ah != null) {
                this.i.bi(this.ah.rootWrapper, "");
            }
        };
        XamLinearGaugeView.prototype.bm = function (a) {
            a._visibility = 0;
        };
        XamLinearGaugeView.prototype.bn = function (a) {
            a._visibility = 1;
        };
        XamLinearGaugeView.prototype.bo = function (a) {
            this.aa.remove(a);
        };
        XamLinearGaugeView.prototype.cq = function () {
            var a = new igniteuiAngularCore.Path();
            this.aa.add(a);
            return a;
        };
        XamLinearGaugeView.prototype.bw = function (a) {
            a._visibility = 0;
        };
        XamLinearGaugeView.prototype.bx = function (a) {
            a._visibility = 1;
        };
        XamLinearGaugeView.prototype.by = function (a) {
            this.ab.remove(a);
        };
        XamLinearGaugeView.prototype.b4 = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.ab.add(a);
            return a;
        };
        XamLinearGaugeView.prototype.bf = function (a) {
            a._visibility = 0;
        };
        XamLinearGaugeView.prototype.bg = function (a) {
            a._visibility = 1;
        };
        XamLinearGaugeView.prototype.bh = function (a) {
            this.z.remove(a);
        };
        XamLinearGaugeView.prototype.cp = function () {
            var a = new igniteuiAngularCore.Path();
            this.z.add(a);
            return a;
        };
        XamLinearGaugeView.prototype.a4 = function (a) {
            a._visibility = 0;
        };
        XamLinearGaugeView.prototype.a5 = function (a) {
            a._visibility = 1;
        };
        XamLinearGaugeView.prototype.a6 = function (a) {
            this.y.remove(a);
        };
        XamLinearGaugeView.prototype.b3 = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.y.add(a);
            return a;
        };
        XamLinearGaugeView.prototype.l = function () {
            var _this = this;
            if (this.k == null) {
                return null;
            }
            return ((function () {
                var $ret = new ToolTipInfo();
                $ret.b = _this.an;
                $ret.d = _this.cf;
                $ret.c = _this.aq;
                $ret.a = _this.k;
                return $ret;
            })());
        };
        XamLinearGaugeView.prototype.bi = function () {
            this.ad = this.m.b5;
        };
        XamLinearGaugeView.$t = igniteuiAngularCore.markType(XamLinearGaugeView, 'XamLinearGaugeView');
        XamLinearGaugeView.w = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Brush.$, 0);
        XamLinearGaugeView.g = null;
        XamLinearGaugeView.h = null;
        return XamLinearGaugeView;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */

    var defaultFont$1 = "Verdana, \"Segoe UI\", Arial, \"Myriad Pro\", sans-serif";
    var LinearGaugeStylingDefaults = {
        //"ui-lineargauge-backing": {
        //    "background-color": "#ffffff",
        //    "border-color": "#ffffff"
        //},
        "ui-lineargauge-needle": {
            "background-color": "#999999",
            "border-top-color": "#FFFFFF"
        },
        "ui-lineargauge-scale": {
            "background-color": "transparent",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-tick": {
            "background-color": "rgba(0, 0, 0, 0.35)",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-minortick": {
            "background-color": "rgba(0, 0, 0, 0.2)",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-label": {
            "background-color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill,
            "border-top-color": "transparent"
        },
        "ui-lineargauge-range-palette-1": {
            "background-color": "#0078C8",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-range-palette-2": {
            "background-color": "#0099FF",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-range-palette-3": {
            "background-color": "#21A7FF",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-range-palette-4": {
            "background-color": "#4FB9FF",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-range-palette-5": {
            "background-color": "#79C9FF",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-needle-palette-1": {
            "background-color": "#e0e0e0",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-needle-palette-2": {
            "background-color": "#c0c0c0",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-needle-palette-3": {
            "background-color": "#999999",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-needle-palette-4": {
            "background-color": "#494949",
            "border-top-color": "transparent"
        },
        "ui-lineargauge-needle-palette-5": {
            "background-color": "#353535",
            "border-top-color": "transparent"
        },
        //"ui-lineargauge-tooltip": {
        //    "border-style": "none",
        //    "white-space": "nowrap",
        //    "background-color": "transparent"
        //},
        //"ui-lineargauge-range-tooltip": {
        //    "border-style": "solid",
        //    "border-width": "2px",
        //    "border-radius": "4px",
        //    "background-color": "rgba(230, 230, 230, 0.74)",
        //    "padding": "4px",
        //    "font-weight": "bold"
        //},
        //"ui-lineargauge-needle-tooltip": {
        //    "border-style": "solid",
        //    "border-width": "2px",
        //    "border-radius": "4px",
        //    "background-color": "rgba(230, 230, 230, 0.74)",
        //    "padding": "4px",
        //    "font-weight": "bold"
        //},
        "ui-lineargauge": {
            "font-family": igniteuiAngularCore.FontDefaults.gaugesFontFamily,
            "font-size": igniteuiAngularCore.FontDefaults.gaugesFontSize + "px",
            "color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill
        },
        "font-family": igniteuiAngularCore.FontDefaults.gaugesFontFamily,
        "font-style": "normal",
        "font-weight": igniteuiAngularCore.FontDefaults.gaugesFontWeight,
        "font-size": igniteuiAngularCore.FontDefaults.gaugesFontSize + "px",
        "color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill,
        "font-variant": "",
        "line-height": ""
    };

    /*
    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.
    */
    /**
     * A linear gauge for displaying a single value on a defined scale.
    */
    var IgxLinearGaugeComponent = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGaugeComponent(_renderer, _elRef, _ngZone, _componentFactoryResolver, _injector) {
            //super();
            var _this = this;
            this._renderer = _renderer;
            this._elRef = _elRef;
            this._ngZone = _ngZone;
            this._componentFactoryResolver = _componentFactoryResolver;
            this._injector = _injector;
            /**
            * The ranges actually present in the chart. Do not directly modify this array.
            * This array's contents can be modified by causing Angular to reproject the child content.
            * Or adding and removing ranges from the manual ranges collection on the ranges property.
            */
            this.actualRanges = [];
            this._ranges = null;
            this._rangesAdapter = null;
            this._tooltipTemplate = null;
            this._tooltipContent = null;
            this._defaultTooltips = null;
            this._zoneRunner = null;
            this.__p = null;
            this._hasUserValues = new Set();
            this._stylingContainer = null;
            this._stylingParent = null;
            this._inStyling = false;
            this._formatLabel = null;
            this._alignLabel = null;
            this._valueChanged = null;
            this._highlightValueChanged = null;
            this._actualMinimumValueChange = null;
            this._actualMaximumValueChange = null;
            if (this._styling) {
                igniteuiAngularCore.NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
            }
            this._zoneRunner = function (act) { return _this._ngZone.run(act); };
            this._implementation = this.createImplementation();
            this._container = _renderer.createElement("div");
            _renderer.appendChild(_elRef.element.nativeElement, this._container);
            _renderer.setStyle(this._container, "display", "block");
            _renderer.setStyle(this._container, "width", "100%");
            _renderer.setStyle(this._container, "height", "100%");
            var root;
            root = this._container;
            if (this._container.nativeElement != null) {
                root = this._container.nativeElement;
            }
            this._root = root;
            var ren = new igniteuiAngularCore.AngularRenderer(root, this._renderer, window.document, this._ngZone, true, LinearGaugeStylingDefaults);
            this._wrapper = ren;
            var gauge = this.i;
            this._gauge = gauge;
            this._rangesAdapter = new igniteuiAngularCore.CollectionAdapter([], this.i.ranges, this.actualRanges, function (c) { return c.i; }, function (i) {
                i._provideRenderer(_this._wrapper);
                if (_this._root && _this._root.parentElement) {
                    i._styling(_this._root, _this, _this);
                }
            }, function (i) { i._provideRenderer(null); });
            gauge.provideContainer(ren);
            ren.addSizeWatcher(function () {
                _this._gauge.containerResized();
            });
        }
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "height", {
            get: function () {
                return this._height;
            },
            set: function (value) {
                this._height = value;
                this._renderer.setStyle(this._elRef.element.nativeElement, "height", value);
                this._gauge.containerResized();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "width", {
            get: function () {
                return this._width;
            },
            set: function (value) {
                this._width = value;
                this._renderer.setStyle(this._elRef.element.nativeElement, "width", value);
                this._gauge.containerResized();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "ranges", {
            /**
             * A collection or manually added axes for the chart.
            */
            get: function () {
                var _this = this;
                if (this._ranges === null) {
                    var coll = new IgxLinearGraphRangeCollection();
                    var inner = coll._innerColl;
                    inner.addListener(function (sender, e) {
                        switch (e.action) {
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Add:
                                _this._rangesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Remove:
                                _this._rangesAdapter.removeManualItemAt(e.oldStartingIndex);
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Replace:
                                _this._rangesAdapter.removeManualItemAt(e.oldStartingIndex);
                                _this._rangesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Reset:
                                _this._rangesAdapter.clearManualItems();
                                break;
                        }
                    });
                    this._ranges = coll;
                }
                return this._ranges;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGaugeComponent.prototype.ngOnDestroy = function () {
            this._gauge.destroy();
            this._wrapper.destroy();
        };
        IgxLinearGaugeComponent.prototype.createImplementation = function () {
            return new XamLinearGauge();
        };
        IgxLinearGaugeComponent.prototype.ngAfterContentInit = function () {
            var _this = this;
            if (igniteuiAngularCore.TypeRegistrar.isRegistered("IgxSimpleDefaultTooltipComponent")) {
                var c = igniteuiAngularCore.TypeRegistrar.get("IgxSimpleDefaultTooltipComponent");
                var cf = this._componentFactoryResolver.resolveComponentFactory(c);
                var cr_1 = this._dynamicContent.createComponent(cf);
                this._defaultTooltips = cr_1;
                cr_1.instance.onContentReady.subscribe(function () {
                    _this._onDefaultTooltipsReady(cr_1);
                });
                this._ensureTooltipCreated();
            }
            this._rangesAdapter.updateQuery(this.contentRanges);
        };
        IgxLinearGaugeComponent.prototype.ngAfterViewInit = function () {
            this.updateStyle();
            this.i.containerResized();
        };
        IgxLinearGaugeComponent.prototype.updateStyle = function () {
            this._styling(this._root, this);
            if (this.actualRanges && this.actualRanges.length > 0) {
                var currRange = this.actualRanges;
                for (var i = 0; i < currRange.length; i++) {
                    currRange[i]._styling(this._root, this, this);
                }
            }
        };
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "tooltipTemplate", {
            get: function () {
                return this._tooltipTemplate;
            },
            set: function (value) {
                this._tooltipTemplate = value;
                if (value == null) {
                    if (this._tooltipContent !== null) {
                        this._tooltipContent.destroy();
                        this._tooltipContent = null;
                    }
                }
                if (this._tooltipContent != null) {
                    this._tooltipContent.instance.template = this._tooltipTemplate;
                }
                else {
                    this._ensureTooltipCreated();
                }
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGaugeComponent.prototype._ensureTooltipCreated = function () {
            if (this.i.toolTip == null) {
                var tooltip = this.createTooltip();
                if (tooltip == null) {
                    return;
                }
                this._tooltipContent = tooltip;
                tooltip.instance.template = this._tooltipTemplate;
                this.i.toolTip = this.createWrapper(tooltip.location.nativeElement);
            }
        };
        IgxLinearGaugeComponent.prototype.createWrapper = function (ele) {
            var wrapper = new igniteuiAngularCore.AngularWrapper(ele, this._renderer, this._ngZone);
            wrapper.updateToolTip = ele.updateToolTip;
            wrapper.hideToolTip = ele.hideToolTip;
            return wrapper;
        };
        IgxLinearGaugeComponent.prototype._ensureDefaultTooltip = function () {
            if (this._defaultTooltips == null) {
                return;
            }
            this._defaultTooltips.instance["ensureDefaultTooltip"](this);
        };
        IgxLinearGaugeComponent.prototype._onDefaultTooltipsReady = function (cr) {
            this._ensureDefaultTooltip();
        };
        IgxLinearGaugeComponent.prototype.createTooltip = function () {
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered("IgxTooltipContainerComponent")) {
                return null;
            }
            var t = igniteuiAngularCore.TypeRegistrar.get("IgxTooltipContainerComponent");
            var cf = this._componentFactoryResolver.resolveComponentFactory(t);
            var cr = this._dynamicContent.createComponent(cf);
            var ele = cr.location.nativeElement;
            var self = this;
            ele.updateToolTip = function (c) {
                if (c.externalObject) {
                    c = c.externalObject;
                }
                else {
                    var ext = new igniteuiAngularCore.IgxDataContext();
                    ext._implementation = c;
                    c = ext;
                }
                if (ele.parentElement != self._container) {
                    if (ele.parentElement != null) {
                        ele.parentElement.removeChild(ele);
                    }
                    self._container.appendChild(ele);
                }
                cr.instance.context = c;
                ele.style.display = "block";
                return true;
            };
            ele.hideToolTip = function () {
                ele.style.display = "none";
            };
            ele.style.display = "none";
            return cr;
        };
        IgxLinearGaugeComponent.prototype._runInZone = function (act) {
            if (this._zoneRunner != null) {
                this._zoneRunner(act);
            }
            else {
                act();
            }
        };
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "i", {
            /**
             * @hidden
             */
            get: function () {
                return this._implementation;
            } /**
                                         * @hidden
                                         */,
            enumerable: false,
            configurable: true
        });
        IgxLinearGaugeComponent._createFromInternal = function (internal) {
            if (!internal) {
                return null;
            }
            if (!internal.$type) {
                return null;
            }
            var name = internal.$type.name;
            var externalName = "Igx" + name + "Component";
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered(externalName)) {
                return null;
            }
            return igniteuiAngularCore.TypeRegistrar.create(externalName);
        };
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "animating", {
            /**
         * Gets a value indicating whether the bullet graph is currently animating.
        */
            get: function () {
                return this.i.a9;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "transitionProgress", {
            /**
             * Gets the transition progress of the animation when the control is animating.
            */
            get: function () {
                return this.i.dd;
            },
            set: function (v) {
                this.i.dd = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "orientation", {
            /**
             * Gets or sets the orientation of the scale.
            */
            get: function () {
                return this.i.as;
            },
            set: function (v) {
                this.i.as = igniteuiAngularCore.ensureEnum(LinearScaleOrientation_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "rangeBrushes", {
            /**
             * Gets or sets a collection of brushes to be used as the palette for linear gauge ranges.
            */
            get: function () {
                return igniteuiAngularCore.fromBrushCollection(this.i.ah);
            },
            set: function (v) {
                this.i.ah = igniteuiAngularCore.toBrushCollection(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "rangeOutlines", {
            /**
             * Gets or sets a collection of brushes to be used as the palette for linear gauge outlines.
            */
            get: function () {
                return igniteuiAngularCore.fromBrushCollection(this.i.ai);
            },
            set: function (v) {
                this.i.ai = igniteuiAngularCore.toBrushCollection(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "minimumValue", {
            /**
             * Gets or sets the minimum value of the scale.
            */
            get: function () {
                return this.i.ci;
            },
            set: function (v) {
                this.i.ci = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualMinimumValue", {
            /**
             * Gets the resolved minimum value of the scale.
            */
            get: function () {
                return this.i.b4;
            },
            set: function (v) {
                this.i.b4 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "maximumValue", {
            /**
             * Gets or sets the maximum value of the scale.
            */
            get: function () {
                return this.i.ch;
            },
            set: function (v) {
                this.i.ch = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualMaximumValue", {
            /**
             * Gets the resolved maximum value of the scale.
            */
            get: function () {
                return this.i.b3;
            },
            set: function (v) {
                this.i.b3 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "value", {
            /**
             * Gets or sets the value at which the needle is positioned.
            */
            get: function () {
                return this.i.de;
            },
            set: function (v) {
                this.i.de = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleShape", {
            /**
             * Gets or sets the shape to use when rendering the needle from a number of options.
            */
            get: function () {
                return this.i.ap;
            },
            set: function (v) {
                this.i.ap = igniteuiAngularCore.ensureEnum(LinearGraphNeedleShape_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleName", {
            /**
             * Gets or sets the name used for needle.
            */
            get: function () {
                return this.i.ep;
            },
            set: function (v) {
                this.i.ep = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "rangeInnerExtent", {
            /**
             * Gets or sets the position at which to start rendering the ranges, measured from the front/bottom of the control as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.cy;
            },
            set: function (v) {
                this.i.cy = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleInnerExtent", {
            /**
             * Gets or sets the position at which to start rendering the scale, measured from the bottom/front (when orientation is horizontal/vertical) of the control as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.c2;
            },
            set: function (v) {
                this.i.c2 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "rangeOuterExtent", {
            /**
             * Gets or sets the position at which to stop rendering the range as a value from 0 to 1 measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.cz;
            },
            set: function (v) {
                this.i.cz = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleOuterExtent", {
            /**
             * Gets or sets the position at which to stop rendering the scale as a value from 0 to 1 measured from the bottom/front (when orientation is horizontal/vertical) of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.c4;
            },
            set: function (v) {
                this.i.c4 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleInnerExtent", {
            /**
             * Gets or sets the position at which to start rendering the needle geometry, measured from the front/bottom of the linear gauge as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.cp;
            },
            set: function (v) {
                this.i.cp = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleOuterExtent", {
            /**
             * Gets or sets the position at which to stop rendering the needle geometry as a value from 0 to 1 measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.ct;
            },
            set: function (v) {
                this.i.ct = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleInnerBaseWidth", {
            /**
             * Gets or sets the width of the needle's inner base.
            */
            get: function () {
                return this.i.co;
            },
            set: function (v) {
                this.i.co = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleOuterBaseWidth", {
            /**
             * Gets or sets the width of the needle's outer base.
            */
            get: function () {
                return this.i.cs;
            },
            set: function (v) {
                this.i.cs = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleInnerPointWidth", {
            /**
             * Gets or sets the width of the needle's inner point.
            */
            get: function () {
                return this.i.cr;
            },
            set: function (v) {
                this.i.cr = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleOuterPointWidth", {
            /**
             * Gets or sets the width of the needle's outer point.
            */
            get: function () {
                return this.i.cv;
            },
            set: function (v) {
                this.i.cv = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleInnerPointExtent", {
            /**
             * Gets or sets the extent of the needle's inner point.
            */
            get: function () {
                return this.i.cq;
            },
            set: function (v) {
                this.i.cq = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleOuterPointExtent", {
            /**
             * Gets or sets the extent of the needle's outer point.
            */
            get: function () {
                return this.i.cu;
            },
            set: function (v) {
                this.i.cu = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "interval", {
            /**
             * Gets or sets the interval to use for the scale.
            */
            get: function () {
                return this.i.cc;
            },
            set: function (v) {
                this.i.cc = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "ticksPostInitial", {
            /**
             * A value to start adding tickmarks, added to the scale's MinimumValue.
            */
            get: function () {
                return this.i.c9;
            },
            set: function (v) {
                this.i.c9 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "ticksPreTerminal", {
            /**
             * A value to stop adding tickmarks, subtracted from the scale's MaximumValue.
            */
            get: function () {
                return this.i.da;
            },
            set: function (v) {
                this.i.da = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelInterval", {
            /**
             * Gets or sets the interval to use for rendering labels. This defaults to be the same interval as the tickmarks on the scale.
            */
            get: function () {
                return this.i.ce;
            },
            set: function (v) {
                this.i.ce = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelExtent", {
            /**
             * Gets or sets the position at which to put the labels as a value from 0 to 1, measured from the bottom of the scale.
             * Values further from zero than 1 can be used to hide the labels of the linear gauge.
            */
            get: function () {
                return this.i.cd;
            },
            set: function (v) {
                this.i.cd = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelsPostInitial", {
            /**
             * A value to start adding labels, added to the scale's MinimumValue.
            */
            get: function () {
                return this.i.cf;
            },
            set: function (v) {
                this.i.cf = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelsPreTerminal", {
            /**
             * A value to stop adding labels, subtracted from the scale's MaximumValue.
            */
            get: function () {
                return this.i.cg;
            },
            set: function (v) {
                this.i.cg = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "minorTickCount", {
            /**
             * Gets or sets the number of minor tickmarks to place between major tickmarks.
            */
            get: function () {
                return this.i.cj;
            },
            set: function (v) {
                this.i.cj = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "tickStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the major tickmarks as a value from 0 to 1, measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.db;
            },
            set: function (v) {
                this.i.db = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "tickEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the major tickmarks as a value from 0 to 1, measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.c8;
            },
            set: function (v) {
                this.i.c8 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "tickStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering ticks.
            */
            get: function () {
                return this.i.dc;
            },
            set: function (v) {
                this.i.dc = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "tickBrush", {
            /**
             * Gets or sets the brush to use for the major tickmarks.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.iw);
            },
            set: function (v) {
                this.i.iw = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "fontBrush", {
            /**
             * Gets or sets the brush to use for the label font.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ip);
            },
            set: function (v) {
                this.i.ip = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleBreadth", {
            /**
             * Gets or sets the needle breadth.
            */
            get: function () {
                return this.i.cn;
            },
            set: function (v) {
                this.i.cn = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleBrush", {
            /**
             * Gets or sets the brush to use for needle element.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.is);
            },
            set: function (v) {
                this.i.is = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleOutline", {
            /**
             * Gets or sets the brush to use for the outline of needle element.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.it);
            },
            set: function (v) {
                this.i.it = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "needleStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering single actual value element.
            */
            get: function () {
                return this.i.cw;
            },
            set: function (v) {
                this.i.cw = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "minorTickStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the minor tickmarks as a value from 0 to 1, measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.cl;
            },
            set: function (v) {
                this.i.cl = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "minorTickEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the minor tickmarks as a value from 0 to 1, measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.ck;
            },
            set: function (v) {
                this.i.ck = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "minorTickStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering minor ticks.
            */
            get: function () {
                return this.i.cm;
            },
            set: function (v) {
                this.i.cm = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "minorTickBrush", {
            /**
             * Gets or sets the brush to use for the minor tickmarks.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ir);
            },
            set: function (v) {
                this.i.ir = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "isScaleInverted", {
            /**
             * Gets or sets a value indicating whether the scale is inverted.
             * When the scale is inverted the direction in which the scale values increase is right to left.
            */
            get: function () {
                return this.i.bg;
            },
            set: function (v) {
                this.i.bg = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "backingBrush", {
            /**
             * Gets or sets the brush to use to fill the backing of the linear gauge.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.im);
            },
            set: function (v) {
                this.i.im = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "backingOutline", {
            /**
             * Gets or sets the brush to use for the outline of the backing.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.io);
            },
            set: function (v) {
                this.i.io = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "backingStrokeThickness", {
            /**
             * Gets or sets the stroke thickness of the backing outline.
            */
            get: function () {
                return this.i.b8;
            },
            set: function (v) {
                this.i.b8 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "backingInnerExtent", {
            /**
             * Gets or sets the inner extent of the linear gauge backing.
            */
            get: function () {
                return this.i.b6;
            },
            set: function (v) {
                this.i.b6 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "backingOuterExtent", {
            /**
             * Gets or sets the outer extent of the linear gauge backing.
            */
            get: function () {
                return this.i.b7;
            },
            set: function (v) {
                this.i.b7 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the scale, measured from the front/bottom of the linear gauge as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.c6;
            },
            set: function (v) {
                this.i.c6 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the scale as a value from 0 to 1, measured from the front/bottom of the linear gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal size of the linear gauge.
            */
            get: function () {
                return this.i.c1;
            },
            set: function (v) {
                this.i.c1 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleBrush", {
            /**
             * Gets or sets the brush to use to fill the scale of the linear gauge.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.iu);
            },
            set: function (v) {
                this.i.iu = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleOutline", {
            /**
             * Gets or sets the brush to use for the outline of the scale.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.iv);
            },
            set: function (v) {
                this.i.iv = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "scaleStrokeThickness", {
            /**
             * Gets or sets the stroke thickness of the scale outline.
            */
            get: function () {
                return this.i.c7;
            },
            set: function (v) {
                this.i.c7 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "mergeViewports", {
            /**
             * Gets or sets whether the scale viewport will be merged with backing viewport.
            */
            get: function () {
                return this.i.bj;
            },
            set: function (v) {
                this.i.bj = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelsVisible", {
            /**
             * Gets or sets whether the labels are visible in the gauge.
            */
            get: function () {
                return this.i.bi;
            },
            set: function (v) {
                this.i.bi = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "isNeedleDraggingEnabled", {
            /**
             * Gets or sets whether needle dragging is enabled or not.
            */
            get: function () {
                return this.i.bf;
            },
            set: function (v) {
                this.i.bf = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "isHighlightNeedleDraggingEnabled", {
            /**
             * Gets or sets whether highlight needle dragging is enabled or not.
            */
            get: function () {
                return this.i.be;
            },
            set: function (v) {
                this.i.be = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelFormat", {
            /**
             * Gets or sets the label composite format used when creating label values.
            */
            get: function () {
                return this.i.d4;
            },
            set: function (v) {
                this.i.d4 = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "labelFormatSpecifiers", {
            /**
             * Gets or sets the format specifiers to use with the LabelFormat string.
            */
            get: function () {
                return this.i.ag;
            },
            set: function (v) {
                if (v && !Array.isArray(v) && typeof (v) == "string") {
                    var re = /\s*(?:,|\s|$)\s*/gm;
                    v = v.split(re);
                }
                this.i.ag = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "transitionDuration", {
            /**
             * Gets or sets the number of milliseconds over which changes to the linear gauge should be animated.
            */
            get: function () {
                return this.i.di;
            },
            set: function (v) {
                this.i.di = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "highlightValue", {
            /**
             * Gets or sets the highlight value at which to point the secondary needle of the gauge.
            */
            get: function () {
                return this.i.ca;
            },
            set: function (v) {
                this.i.ca = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualHighlightValueOpacity", {
            /**
             * Gets the actual opacity of the primary needle while highlighting
            */
            get: function () {
                return this.i.b2;
            },
            set: function (v) {
                this.i.b2 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "highlightValueOpacity", {
            /**
             * Gets or sets the opacity of the primary needle while highlighting
            */
            get: function () {
                return this.i.cb;
            },
            set: function (v) {
                this.i.cb = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualHighlightValueDisplayMode", {
            /**
             * Gets whether and how to display the highlighted value.
            */
            get: function () {
                return this.i.a0;
            },
            set: function (v) {
                this.i.a0 = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.HighlightedValueDisplayMode_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "highlightValueDisplayMode", {
            /**
             * Gets or sets whether and how to display the highlighted value.
            */
            get: function () {
                return this.i.a1;
            },
            set: function (v) {
                this.i.a1 = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.HighlightedValueDisplayMode_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "showToolTipTimeout", {
            /**
             * Gets or sets the time in milliseconds that tooltip appearance is delayed with.
            */
            get: function () {
                return this.i.dh;
            },
            set: function (v) {
                this.i.dh = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "showToolTip", {
            /**
             * Gets or sets a value indicating whether tooltips are enabled.
            */
            get: function () {
                return this.i.bn;
            },
            set: function (v) {
                this.i.bn = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "font", {
            /**
             * Gets or sets the font.
            */
            get: function () {
                return this.i.dt;
            },
            set: function (v) {
                this.i.dt = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "pixelScalingRatio", {
            /**
             * Gets or sets the scaling value used to affect the pixel density of the control.
             * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
             * to appear blurry.
            */
            get: function () {
                return this.i.cx;
            },
            set: function (v) {
                this.i.cx = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualPixelScalingRatio", {
            /**
             * Gets the actual pixel scaling ratio used to affect the pixel density of the control.
             * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
             * to appear blurry.
            */
            get: function () {
                return this.i.b5;
            },
            set: function (v) {
                this.i.b5 = +v;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGaugeComponent.prototype.findByName = function (name) {
            if (this.findEphemera) {
                if (name && name.indexOf("@@e:") == 0) {
                    return this.findEphemera(name);
                }
            }
            if (this.ranges != null && this.ranges.findByName && this.ranges.findByName(name)) {
                return this.ranges.findByName(name);
            }
            if (this.labelFormatSpecifiers != null && igniteuiAngularCore.arrayFindByName(this.labelFormatSpecifiers, name)) {
                return igniteuiAngularCore.arrayFindByName(this.labelFormatSpecifiers, name);
            }
            return null;
        };
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "hasUserValues", {
            get: function () {
                return this._hasUserValues;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGaugeComponent.prototype.__m = function (propertyName) {
            if (!this._inStyling) {
                this._hasUserValues.add(propertyName);
            }
        };
        IgxLinearGaugeComponent.prototype._styling = function (container, component, parent) {
            if (this._inStyling) {
                return;
            }
            this._inStyling = true;
            this._stylingContainer = container;
            this._stylingParent = component;
            var genericPrefix = "";
            var typeName = this.i.$type.name;
            if (typeName.indexOf("Xam") === 0) {
                typeName = typeName.substring(3);
            }
            genericPrefix = igniteuiAngularCore.toSpinal("LinearGaugeComponent");
            var additionalPrefixes = [];
            var prefix = igniteuiAngularCore.toSpinal(typeName);
            additionalPrefixes.push(prefix + "-");
            var b = this.i.$type.baseType;
            while (b && b.name != "Object" &&
                b.name != "Base" &&
                b.name != "Control" &&
                b.Name != "DependencyObject" &&
                b.Name != "FrameworkElement") {
                typeName = b.name;
                if (typeName.indexOf("Xam") === 0) {
                    typeName = typeName.substring(3);
                }
                var basePrefix = igniteuiAngularCore.toSpinal(typeName);
                additionalPrefixes.push(basePrefix + "-");
                b = b.baseType;
            }
            if (parent) {
                var parentTypeName = parent.i.$type.name;
                if (parentTypeName.indexOf("Xam") === 0) {
                    parentTypeName = parentTypeName.substring(3);
                }
                var parentPrefix = igniteuiAngularCore.toSpinal(parentTypeName);
                additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
                additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
            }
            igniteuiAngularCore.initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
            if (this._otherStyling) {
                this._otherStyling(container, component, parent);
            }
            this._inStyling = false;
        };
        /**
     * Gets the value for the main scale of the gauge for a given point within the bounds of the gauge.

    * @param point  * The point for which to retrieve the associated value.
    */
        IgxLinearGaugeComponent.prototype.getValueForPoint = function (point) {
            var iv = this.i.b9(igniteuiAngularCore.toPoint(point));
            return (iv);
        };
        IgxLinearGaugeComponent.prototype.needleContainsPoint = function (point, isFinger) {
            var iv = this.i.needleContainsPoint(igniteuiAngularCore.toPoint(point), isFinger);
            return (iv);
        };
        IgxLinearGaugeComponent.prototype.highlightNeedleContainsPoint = function (point, isFinger) {
            var iv = this.i.highlightNeedleContainsPoint(igniteuiAngularCore.toPoint(point), isFinger);
            return (iv);
        };
        /**
         * Returns visuals as a serialized string.
        
        */
        IgxLinearGaugeComponent.prototype.exportSerializedVisualData = function () {
            var iv = this.i.ds();
            return (iv);
        };
        /**
         * Use to force the linear gauge to finish any deferred work before printing or evaluating its visual.
         * This should only be called if the visual of the linear gauge needs to be synchronously saved or evaluated.
         * Calling this method too often will hinder the performance of the linear gauge.
        
        */
        IgxLinearGaugeComponent.prototype.flush = function () {
            this.i.fs();
        };
        /**
         * Called by the UI framework to provide a UI container for rendering this control.
        
        * @param container  * The UI container element.
        */
        IgxLinearGaugeComponent.prototype.provideContainer = function (container) {
            this.i.provideContainer(container);
        };
        IgxLinearGaugeComponent.prototype.containerResized = function () {
            this.i.containerResized();
        };
        IgxLinearGaugeComponent.prototype.styleUpdated = function () {
            this.i.go();
        };
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "formatLabel", {
            /**
             * Event which is raised when a label of the the gauge is formatted.
             * Function takes first argument evt and second argument ui.
             * Use ui.owner to obtain reference to the gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of the gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of the gauge scale.
             * Use ui.value to obtain the value on the the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
            */
            get: function () {
                var _this = this;
                if (this._formatLabel == null) {
                    this._formatLabel = new i0.EventEmitter();
                    this.i.formatLabel = igniteuiAngularCore.delegateCombine(this.i.formatLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxFormatLinearGraphLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeFormatLabel) {
                                _this.beforeFormatLabel(_this, outerArgs);
                            }
                            _this._formatLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._formatLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "alignLabel", {
            /**
             * Event which is raised when a label of the linear gauge is aligned along the scale.
             * Function takes first argument evt and second argument ui.
             * Use ui.owner to obtain reference to the gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of the gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of the gauge scale.
             * Use ui.value to obtain the value on the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
             * Use ui.width to obtain the width of the label.
             * Use ui.height to obtain the height of the label.
             * Use ui.offsetX to obtain the X offset of the label on the gauge scale.
             * Use ui.offsetY to obtain the Y offset of the label on the gauge scale.
            */
            get: function () {
                var _this = this;
                if (this._alignLabel == null) {
                    this._alignLabel = new i0.EventEmitter();
                    this.i.alignLabel = igniteuiAngularCore.delegateCombine(this.i.alignLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxAlignLinearGraphLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeAlignLabel) {
                                _this.beforeAlignLabel(_this, outerArgs);
                            }
                            _this._alignLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._alignLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "valueChanged", {
            /**
             * Occurs when the Value property changes.
            */
            get: function () {
                var _this = this;
                if (this._valueChanged == null) {
                    this._valueChanged = new i0.EventEmitter();
                    this.i.valueChanged = igniteuiAngularCore.delegateCombine(this.i.valueChanged, function (o, e) {
                        var outerArgs = new igniteuiAngularCore.IgxDoubleValueChangedEventArgs();
                        outerArgs._provideImplementation(e);
                        if (_this.beforeValueChanged) {
                            _this.beforeValueChanged(_this, outerArgs);
                        }
                        _this._valueChanged.emit({
                            sender: _this,
                            args: outerArgs
                        });
                    });
                }
                return this._valueChanged;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "highlightValueChanged", {
            /**
             * Occurs when the Hightlight Value property changes.
            */
            get: function () {
                var _this = this;
                if (this._highlightValueChanged == null) {
                    this._highlightValueChanged = new i0.EventEmitter();
                    this.i.highlightValueChanged = igniteuiAngularCore.delegateCombine(this.i.highlightValueChanged, function (o, e) {
                        var outerArgs = new igniteuiAngularCore.IgxDoubleValueChangedEventArgs();
                        outerArgs._provideImplementation(e);
                        if (_this.beforeHighlightValueChanged) {
                            _this.beforeHighlightValueChanged(_this, outerArgs);
                        }
                        _this._highlightValueChanged.emit({
                            sender: _this,
                            args: outerArgs
                        });
                    });
                }
                return this._highlightValueChanged;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualMinimumValueChange", {
            get: function () {
                var _this = this;
                if (this._actualMinimumValueChange == null) {
                    this._actualMinimumValueChange = new i0.EventEmitter();
                    this.i.propertyChanged = igniteuiAngularCore.delegateCombine(this.i.propertyChanged, function (o, e) {
                        var iv = e;
                        var ext = _this.actualMinimumValue;
                        if (_this.beforeActualMinimumValueChange) {
                            _this.beforeActualMinimumValueChange(_this, ext);
                        }
                        _this._actualMinimumValueChange.emit(ext);
                    });
                }
                return this._actualMinimumValueChange;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxLinearGaugeComponent.prototype, "actualMaximumValueChange", {
            get: function () {
                var _this = this;
                if (this._actualMaximumValueChange == null) {
                    this._actualMaximumValueChange = new i0.EventEmitter();
                    this.i.propertyChanged = igniteuiAngularCore.delegateCombine(this.i.propertyChanged, function (o, e) {
                        var iv = e;
                        var ext = _this.actualMaximumValue;
                        if (_this.beforeActualMaximumValueChange) {
                            _this.beforeActualMaximumValueChange(_this, ext);
                        }
                        _this._actualMaximumValueChange.emit(ext);
                    });
                }
                return this._actualMaximumValueChange;
            },
            enumerable: false,
            configurable: true
        });
        IgxLinearGaugeComponent.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0["ɵɵFactoryTarget"].Component });
        IgxLinearGaugeComponent.ɵcmp = i0["ɵɵngDeclareComponent"]({ minVersion: "12.0.0", version: "12.2.17", type: IgxLinearGaugeComponent, selector: "igx-linear-gauge", inputs: { height: "height", width: "width", tooltipTemplate: "tooltipTemplate", transitionProgress: "transitionProgress", orientation: "orientation", rangeBrushes: "rangeBrushes", rangeOutlines: "rangeOutlines", minimumValue: "minimumValue", actualMinimumValue: "actualMinimumValue", maximumValue: "maximumValue", actualMaximumValue: "actualMaximumValue", value: "value", needleShape: "needleShape", needleName: "needleName", rangeInnerExtent: "rangeInnerExtent", scaleInnerExtent: "scaleInnerExtent", rangeOuterExtent: "rangeOuterExtent", scaleOuterExtent: "scaleOuterExtent", needleInnerExtent: "needleInnerExtent", needleOuterExtent: "needleOuterExtent", needleInnerBaseWidth: "needleInnerBaseWidth", needleOuterBaseWidth: "needleOuterBaseWidth", needleInnerPointWidth: "needleInnerPointWidth", needleOuterPointWidth: "needleOuterPointWidth", needleInnerPointExtent: "needleInnerPointExtent", needleOuterPointExtent: "needleOuterPointExtent", interval: "interval", ticksPostInitial: "ticksPostInitial", ticksPreTerminal: "ticksPreTerminal", labelInterval: "labelInterval", labelExtent: "labelExtent", labelsPostInitial: "labelsPostInitial", labelsPreTerminal: "labelsPreTerminal", minorTickCount: "minorTickCount", tickStartExtent: "tickStartExtent", tickEndExtent: "tickEndExtent", tickStrokeThickness: "tickStrokeThickness", tickBrush: "tickBrush", fontBrush: "fontBrush", needleBreadth: "needleBreadth", needleBrush: "needleBrush", needleOutline: "needleOutline", needleStrokeThickness: "needleStrokeThickness", minorTickStartExtent: "minorTickStartExtent", minorTickEndExtent: "minorTickEndExtent", minorTickStrokeThickness: "minorTickStrokeThickness", minorTickBrush: "minorTickBrush", isScaleInverted: "isScaleInverted", backingBrush: "backingBrush", backingOutline: "backingOutline", backingStrokeThickness: "backingStrokeThickness", backingInnerExtent: "backingInnerExtent", backingOuterExtent: "backingOuterExtent", scaleStartExtent: "scaleStartExtent", scaleEndExtent: "scaleEndExtent", scaleBrush: "scaleBrush", scaleOutline: "scaleOutline", scaleStrokeThickness: "scaleStrokeThickness", mergeViewports: "mergeViewports", labelsVisible: "labelsVisible", isNeedleDraggingEnabled: "isNeedleDraggingEnabled", isHighlightNeedleDraggingEnabled: "isHighlightNeedleDraggingEnabled", labelFormat: "labelFormat", labelFormatSpecifiers: "labelFormatSpecifiers", transitionDuration: "transitionDuration", highlightValue: "highlightValue", actualHighlightValueOpacity: "actualHighlightValueOpacity", highlightValueOpacity: "highlightValueOpacity", actualHighlightValueDisplayMode: "actualHighlightValueDisplayMode", highlightValueDisplayMode: "highlightValueDisplayMode", showToolTipTimeout: "showToolTipTimeout", showToolTip: "showToolTip", font: "font", pixelScalingRatio: "pixelScalingRatio", actualPixelScalingRatio: "actualPixelScalingRatio" }, outputs: { formatLabel: "formatLabel", alignLabel: "alignLabel", valueChanged: "valueChanged", highlightValueChanged: "highlightValueChanged", actualMinimumValueChange: "actualMinimumValueChange", actualMaximumValueChange: "actualMaximumValueChange" }, host: { classAttribute: "igx-linear-gauge ig-linear-gauge" }, providers: [], queries: [{ propertyName: "contentRanges", predicate: IgxLinearGraphRangeComponent }], viewQueries: [{ propertyName: "_dynamicContent", first: true, predicate: ["dynamicContent"], descendants: true, read: i0.ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #dynamicContent></ng-container>", isInline: true, styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
        return IgxLinearGaugeComponent;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'igx-linear-gauge',
                        template: "<ng-container #dynamicContent></ng-container>",
                        changeDetection: i0.ChangeDetectionStrategy.OnPush,
                        providers: [],
                        host: { 'class': 'igx-linear-gauge ig-linear-gauge' },
                        styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"]
                    }]
            }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, propDecorators: { _dynamicContent: [{
                    type: i0.ViewChild,
                    args: ["dynamicContent", { read: i0.ViewContainerRef, static: true }]
                }], height: [{
                    type: i0.Input
                }], width: [{
                    type: i0.Input
                }], contentRanges: [{
                    type: i0.ContentChildren,
                    args: [IgxLinearGraphRangeComponent]
                }], tooltipTemplate: [{
                    type: i0.Input
                }], transitionProgress: [{
                    type: i0.Input
                }], orientation: [{
                    type: i0.Input
                }], rangeBrushes: [{
                    type: i0.Input
                }], rangeOutlines: [{
                    type: i0.Input
                }], minimumValue: [{
                    type: i0.Input
                }], actualMinimumValue: [{
                    type: i0.Input
                }], maximumValue: [{
                    type: i0.Input
                }], actualMaximumValue: [{
                    type: i0.Input
                }], value: [{
                    type: i0.Input
                }], needleShape: [{
                    type: i0.Input
                }], needleName: [{
                    type: i0.Input
                }], rangeInnerExtent: [{
                    type: i0.Input
                }], scaleInnerExtent: [{
                    type: i0.Input
                }], rangeOuterExtent: [{
                    type: i0.Input
                }], scaleOuterExtent: [{
                    type: i0.Input
                }], needleInnerExtent: [{
                    type: i0.Input
                }], needleOuterExtent: [{
                    type: i0.Input
                }], needleInnerBaseWidth: [{
                    type: i0.Input
                }], needleOuterBaseWidth: [{
                    type: i0.Input
                }], needleInnerPointWidth: [{
                    type: i0.Input
                }], needleOuterPointWidth: [{
                    type: i0.Input
                }], needleInnerPointExtent: [{
                    type: i0.Input
                }], needleOuterPointExtent: [{
                    type: i0.Input
                }], interval: [{
                    type: i0.Input
                }], ticksPostInitial: [{
                    type: i0.Input
                }], ticksPreTerminal: [{
                    type: i0.Input
                }], labelInterval: [{
                    type: i0.Input
                }], labelExtent: [{
                    type: i0.Input
                }], labelsPostInitial: [{
                    type: i0.Input
                }], labelsPreTerminal: [{
                    type: i0.Input
                }], minorTickCount: [{
                    type: i0.Input
                }], tickStartExtent: [{
                    type: i0.Input
                }], tickEndExtent: [{
                    type: i0.Input
                }], tickStrokeThickness: [{
                    type: i0.Input
                }], tickBrush: [{
                    type: i0.Input
                }], fontBrush: [{
                    type: i0.Input
                }], needleBreadth: [{
                    type: i0.Input
                }], needleBrush: [{
                    type: i0.Input
                }], needleOutline: [{
                    type: i0.Input
                }], needleStrokeThickness: [{
                    type: i0.Input
                }], minorTickStartExtent: [{
                    type: i0.Input
                }], minorTickEndExtent: [{
                    type: i0.Input
                }], minorTickStrokeThickness: [{
                    type: i0.Input
                }], minorTickBrush: [{
                    type: i0.Input
                }], isScaleInverted: [{
                    type: i0.Input
                }], backingBrush: [{
                    type: i0.Input
                }], backingOutline: [{
                    type: i0.Input
                }], backingStrokeThickness: [{
                    type: i0.Input
                }], backingInnerExtent: [{
                    type: i0.Input
                }], backingOuterExtent: [{
                    type: i0.Input
                }], scaleStartExtent: [{
                    type: i0.Input
                }], scaleEndExtent: [{
                    type: i0.Input
                }], scaleBrush: [{
                    type: i0.Input
                }], scaleOutline: [{
                    type: i0.Input
                }], scaleStrokeThickness: [{
                    type: i0.Input
                }], mergeViewports: [{
                    type: i0.Input
                }], labelsVisible: [{
                    type: i0.Input
                }], isNeedleDraggingEnabled: [{
                    type: i0.Input
                }], isHighlightNeedleDraggingEnabled: [{
                    type: i0.Input
                }], labelFormat: [{
                    type: i0.Input
                }], labelFormatSpecifiers: [{
                    type: i0.Input
                }], transitionDuration: [{
                    type: i0.Input
                }], highlightValue: [{
                    type: i0.Input
                }], actualHighlightValueOpacity: [{
                    type: i0.Input
                }], highlightValueOpacity: [{
                    type: i0.Input
                }], actualHighlightValueDisplayMode: [{
                    type: i0.Input
                }], highlightValueDisplayMode: [{
                    type: i0.Input
                }], showToolTipTimeout: [{
                    type: i0.Input
                }], showToolTip: [{
                    type: i0.Input
                }], font: [{
                    type: i0.Input
                }], pixelScalingRatio: [{
                    type: i0.Input
                }], actualPixelScalingRatio: [{
                    type: i0.Input
                }], formatLabel: [{
                    type: i0.Output
                }], alignLabel: [{
                    type: i0.Output
                }], valueChanged: [{
                    type: i0.Output
                }], highlightValueChanged: [{
                    type: i0.Output
                }], actualMinimumValueChange: [{
                    type: i0.Output
                }], actualMaximumValueChange: [{
                    type: i0.Output
                }] } });

    /*
    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.
    */
    var IgxLinearGaugeCoreModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGaugeCoreModule() {
        }
        IgxLinearGaugeCoreModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxLinearGaugeCoreModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreModule, declarations: [IgxLinearGaugeComponent], imports: [common.CommonModule, IgxLinearGraphRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule], exports: [IgxLinearGaugeComponent,
                IgxLinearGraphRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule] });
        IgxLinearGaugeCoreModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreModule, imports: [[common.CommonModule, IgxLinearGraphRangeModule,
                    igniteuiAngularCore.IgxNumberFormatSpecifierModule
                ], IgxLinearGraphRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule] });
        return IgxLinearGaugeCoreModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [IgxLinearGaugeComponent],
                        exports: [IgxLinearGaugeComponent,
                            IgxLinearGraphRangeModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierModule
                        ],
                        imports: [common.CommonModule, IgxLinearGraphRangeModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierModule
                        ],
                        entryComponents: []
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxLinearGaugeCoreDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGaugeCoreDynamicModule() {
            igniteuiAngularCore.TypeRegistrar.registerCons('IgxLinearGaugeComponent', IgxLinearGaugeComponent);
        }
        IgxLinearGaugeCoreDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxLinearGaugeCoreDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreDynamicModule, imports: [common.CommonModule, IgxLinearGraphRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxLinearGaugeCoreModule], exports: [IgxLinearGraphRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxLinearGaugeCoreModule] });
        IgxLinearGaugeCoreDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreDynamicModule, imports: [[common.CommonModule, IgxLinearGraphRangeDynamicModule,
                    igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                    IgxLinearGaugeCoreModule
                ], IgxLinearGraphRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxLinearGaugeCoreModule] });
        return IgxLinearGaugeCoreDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeCoreDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxLinearGraphRangeDynamicModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                            IgxLinearGaugeCoreModule
                        ],
                        imports: [common.CommonModule, IgxLinearGraphRangeDynamicModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                            IgxLinearGaugeCoreModule
                        ],
                        entryComponents: [IgxLinearGaugeComponent]
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxLinearGaugeModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGaugeModule() {
        }
        IgxLinearGaugeModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxLinearGaugeModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeModule, imports: [common.CommonModule, IgxLinearGaugeCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule], exports: [IgxLinearGaugeCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule] });
        IgxLinearGaugeModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeModule, imports: [[common.CommonModule, IgxLinearGaugeCoreModule,
                    igniteuiAngularCore.IgxDVInteractivityModule
                ], IgxLinearGaugeCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule] });
        return IgxLinearGaugeModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxLinearGaugeCoreModule,
                            igniteuiAngularCore.IgxDVInteractivityModule
                        ],
                        imports: [common.CommonModule, IgxLinearGaugeCoreModule,
                            igniteuiAngularCore.IgxDVInteractivityModule
                        ],
                        entryComponents: []
                    }]
            }] });

    /*
    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.
    */
    var IgxLinearGaugeDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxLinearGaugeDynamicModule() {
        }
        IgxLinearGaugeDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxLinearGaugeDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeDynamicModule, imports: [common.CommonModule, IgxLinearGaugeCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxLinearGaugeModule], exports: [IgxLinearGaugeCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxLinearGaugeModule] });
        IgxLinearGaugeDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeDynamicModule, imports: [[common.CommonModule, IgxLinearGaugeCoreDynamicModule,
                    igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                    IgxLinearGaugeModule
                ], IgxLinearGaugeCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxLinearGaugeModule] });
        return IgxLinearGaugeDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxLinearGaugeDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxLinearGaugeCoreDynamicModule,
                            igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                            IgxLinearGaugeModule
                        ],
                        imports: [common.CommonModule, IgxLinearGaugeCoreDynamicModule,
                            igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                            IgxLinearGaugeModule
                        ],
                        entryComponents: []
                    }]
            }] });

    /*
    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.
    */

    /*
    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.
    */
    /**
     * @hidden
     */
    var LinearNeedleVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(LinearNeedleVisualDataList, _super);
        function LinearNeedleVisualDataList() {
            return _super.call(this, LinearNeedleVisualData.$, 0) || this;
        }
        LinearNeedleVisualDataList.$t = igniteuiAngularCore.markType(LinearNeedleVisualDataList, 'LinearNeedleVisualDataList', igniteuiAngularCore.List$1.$.specialize(LinearNeedleVisualData.$));
        return LinearNeedleVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * Enum specifying various preset needle shapes.
     */
    var RadialGaugeNeedleShape = /*@__PURE__*/ (function (RadialGaugeNeedleShape) {
        /**
         * No shape.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["None"] = 0] = "None";
        /**
         * A rectangle shape.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["Rectangle"] = 1] = "Rectangle";
        /**
         * A triangle shape.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["Triangle"] = 2] = "Triangle";
        /**
         * A needle shape.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["Needle"] = 3] = "Needle";
        /**
         * A trapezoid shape.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["Trapezoid"] = 4] = "Trapezoid";
        /**
         * A rectangle shape with a bulb at the end.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["RectangleWithBulb"] = 5] = "RectangleWithBulb";
        /**
         * A triangle shape with a bulb at the end.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["TriangleWithBulb"] = 6] = "TriangleWithBulb";
        /**
         * A needle shape with a bulb at the end.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["NeedleWithBulb"] = 7] = "NeedleWithBulb";
        /**
         * A trapezoid shape with a bulb at the end.
         */
        RadialGaugeNeedleShape[RadialGaugeNeedleShape["TrapezoidWithBulb"] = 8] = "TrapezoidWithBulb";
        return RadialGaugeNeedleShape;
    })({});
    /**
     * @hidden
     */
    var RadialGaugeNeedleShape_$type = igniteuiAngularCore.markEnum('RadialGaugeNeedleShape', 'None,0|Rectangle,1|Triangle,2|Needle,3|Trapezoid,4|RectangleWithBulb,5|TriangleWithBulb,6|NeedleWithBulb,7|TrapezoidWithBulb,8');

    /*
    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.
    */
    /**
     * Enum specifying shapes for the needle pivot.
     */
    var RadialGaugePivotShape = /*@__PURE__*/ (function (RadialGaugePivotShape) {
        /**
         * No pivot shape.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["None"] = 0] = "None";
        /**
         * A circle shaped pivot.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["Circle"] = 1] = "Circle";
        /**
         * A circle pivot with a hole in it.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["CircleWithHole"] = 2] = "CircleWithHole";
        /**
         * A circle pivot overlayed on top of the needle.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["CircleOverlay"] = 3] = "CircleOverlay";
        /**
         * A circle pivot with a hole in it overlayed on top of the needle.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["CircleOverlayWithHole"] = 4] = "CircleOverlayWithHole";
        /**
         * A circle pivot rendered underneath the needle.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["CircleUnderlay"] = 5] = "CircleUnderlay";
        /**
         * A circle pivot with a hold in it rendered underneath the needle.
         */
        RadialGaugePivotShape[RadialGaugePivotShape["CircleUnderlayWithHole"] = 6] = "CircleUnderlayWithHole";
        return RadialGaugePivotShape;
    })({});
    /**
     * @hidden
     */
    var RadialGaugePivotShape_$type = igniteuiAngularCore.markEnum('RadialGaugePivotShape', 'None,0|Circle,1|CircleWithHole,2|CircleOverlay,3|CircleOverlayWithHole,4|CircleUnderlay,5|CircleUnderlayWithHole,6');

    /*
    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.
    */
    /**
     * Enum specifying oversweep shapes.
     */
    var RadialGaugeScaleOversweepShape = /*@__PURE__*/ (function (RadialGaugeScaleOversweepShape) {
        /**
         * A default oversweep shape.
         */
        RadialGaugeScaleOversweepShape[RadialGaugeScaleOversweepShape["Auto"] = 0] = "Auto";
        /**
         * A circular oversweep shape.
         */
        RadialGaugeScaleOversweepShape[RadialGaugeScaleOversweepShape["Circular"] = 1] = "Circular";
        /**
         * A fitted oversweep shape.
         */
        RadialGaugeScaleOversweepShape[RadialGaugeScaleOversweepShape["Fitted"] = 2] = "Fitted";
        return RadialGaugeScaleOversweepShape;
    })({});
    /**
     * @hidden
     */
    var RadialGaugeScaleOversweepShape_$type = igniteuiAngularCore.markEnum('RadialGaugeScaleOversweepShape', 'Auto,0|Circular,1|Fitted,2');

    /*
    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.
    */
    /**
     * Enum specifying shapes that can be used by the backing area of the radial gauge.
     */
    var RadialGaugeBackingShape = /*@__PURE__*/ (function (RadialGaugeBackingShape) {
        /**
         * A circular backing shape.
         */
        RadialGaugeBackingShape[RadialGaugeBackingShape["Circular"] = 0] = "Circular";
        /**
         * A fitted backing shape.
         */
        RadialGaugeBackingShape[RadialGaugeBackingShape["Fitted"] = 1] = "Fitted";
        return RadialGaugeBackingShape;
    })({});
    /**
     * @hidden
     */
    var RadialGaugeBackingShape_$type = igniteuiAngularCore.markEnum('RadialGaugeBackingShape', 'Circular,0|Fitted,1');

    /*
    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.
    */
    /**
     * @hidden
     */
    var XamRadialGaugeRange = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamRadialGaugeRange, _super);
        function XamRadialGaugeRange() {
            var _this = _super.call(this) || this;
            _this.propertyChanged = null;
            return _this;
        }
        XamRadialGaugeRange.prototype.ad = function (a, b, c) {
        };
        XamRadialGaugeRange.prototype.ac = function (a, b, c) {
            this.ad(a, b, c);
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        XamRadialGaugeRange.$t = igniteuiAngularCore.markType(XamRadialGaugeRange, 'XamRadialGaugeRange', igniteuiAngularCore.DependencyObject.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        XamRadialGaugeRange.q = igniteuiAngularCore.DeviceUtils.g(1);
        XamRadialGaugeRange.$$p = igniteuiAngularCore.markDep(igniteuiAngularCore.DependencyProperty, igniteuiAngularCore.PropertyMetadata, XamRadialGaugeRange, 'ac', ['Brush:ao:ae', [igniteuiAngularCore.Brush.$, null], 'EndValue:j:af', [1, NaN], 'InnerEndExtent:k:ag', [1, NaN], 'InnerStartExtent:l:ah', [1, NaN], 'Name:v:ai', [2, null], 'OuterEndExtent:m:aj', [1, NaN], 'OuterStartExtent:n:ak', [1, NaN], 'Outline:ap:al', [igniteuiAngularCore.Brush.$, null], 'StartValue:o:am', [1, NaN], 'StrokeThickness:p:an', [1, XamRadialGaugeRange.q]]);
        return XamRadialGaugeRange;
    }(igniteuiAngularCore.DependencyObject));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeRangeCollection = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeRangeCollection, _super);
        function RadialGaugeRangeCollection() {
            return _super.call(this, XamRadialGaugeRange.$, 0) || this;
        }
        RadialGaugeRangeCollection.$t = igniteuiAngularCore.markType(RadialGaugeRangeCollection, 'RadialGaugeRangeCollection', igniteuiAngularCore.ObservableCollection$1.$.specialize(XamRadialGaugeRange.$));
        return RadialGaugeRangeCollection;
    }(igniteuiAngularCore.ObservableCollection$1));

    /*
    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.
    */
    /**
     * Enum specifying multiple strategies for omitting labels.
     */
    var RadialGaugeDuplicateLabelOmissionStrategy = /*@__PURE__*/ (function (RadialGaugeDuplicateLabelOmissionStrategy) {
        /**
         * Omit the last label.
         */
        RadialGaugeDuplicateLabelOmissionStrategy[RadialGaugeDuplicateLabelOmissionStrategy["OmitLast"] = 0] = "OmitLast";
        /**
         * Omit the first label.
         */
        RadialGaugeDuplicateLabelOmissionStrategy[RadialGaugeDuplicateLabelOmissionStrategy["OmitFirst"] = 1] = "OmitFirst";
        /**
         * Omit no labels.
         */
        RadialGaugeDuplicateLabelOmissionStrategy[RadialGaugeDuplicateLabelOmissionStrategy["OmitNeither"] = 2] = "OmitNeither";
        /**
         * Omit both labels.
         */
        RadialGaugeDuplicateLabelOmissionStrategy[RadialGaugeDuplicateLabelOmissionStrategy["OmitBoth"] = 3] = "OmitBoth";
        return RadialGaugeDuplicateLabelOmissionStrategy;
    })({});
    /**
     * @hidden
     */
    var RadialGaugeDuplicateLabelOmissionStrategy_$type = igniteuiAngularCore.markEnum('RadialGaugeDuplicateLabelOmissionStrategy', 'OmitLast,0|OmitFirst,1|OmitNeither,2|OmitBoth,3');

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeScaler = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeScaler, _super);
        function RadialGaugeScaler(a, b, c, d, e) {
            var _this = _super.call(this) || this;
            _this.e = 0;
            _this.d = 0;
            _this.c = 0;
            _this.b = 0;
            _this.l = 0;
            _this.f = 0;
            _this.a = 0;
            _this.e = c;
            _this.d = d;
            if (igniteuiAngularCore.isNaN_(_this.e) || igniteuiAngularCore.isInfinity(_this.e)) {
                _this.e = 135;
            }
            if (igniteuiAngularCore.isNaN_(_this.d) || igniteuiAngularCore.isInfinity(_this.d)) {
                _this.d = 45;
            }
            _this.l = e;
            _this.c = a;
            _this.b = b;
            var f = igniteuiAngularCore.MathUtil.p(_this.e);
            var g = igniteuiAngularCore.MathUtil.p(_this.d);
            var h = RadialGaugeScaler.k(f, g, _this.l);
            _this.f = h.c;
            _this.a = h.d;
            return _this;
        }
        Object.defineProperty(RadialGaugeScaler.prototype, "i", {
            get: function () {
                return this.f;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(RadialGaugeScaler.prototype, "g", {
            get: function () {
                return this.a;
            },
            enumerable: false,
            configurable: true
        });
        RadialGaugeScaler.k = function (a, b, c) {
            if (c == 1 && b < a) {
                b += Math.PI * 2;
            }
            if (c == 0 && a < b) {
                a += Math.PI * 2;
            }
            if (c == 0) {
                var d = a;
                a = b;
                b = d;
            }
            return new igniteuiAngularCore.Tuple$2(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type, a, b);
        };
        RadialGaugeScaler.prototype.h = function (a) {
            var b = NaN;
            if (this.c == this.b) {
                b = 0;
            }
            else {
                b = (a - this.c) / (this.b - this.c);
            }
            if (this.l == 0) {
                b = 1 - b;
            }
            var c = this.f + (this.a - this.f) * b;
            return c;
        };
        RadialGaugeScaler.prototype.j = function (a) {
            var b = (a - this.f) / (this.a - this.f);
            if (this.l == 0) {
                b = 1 - b;
            }
            var c = this.c + (this.b - this.c) * b;
            return c;
        };
        RadialGaugeScaler.$t = igniteuiAngularCore.markType(RadialGaugeScaler, 'RadialGaugeScaler');
        return RadialGaugeScaler;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeNeedleFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeNeedleFrame, _super);
        function RadialGaugeNeedleFrame() {
            var _this = _super.call(this) || this;
            _this.ad = 0;
            _this.ac = 0;
            _this.af = 0;
            _this.ab = 0;
            _this.aj = null;
            _this.ak = null;
            _this.aa = 0;
            _this.ae = 0;
            _this.ai = null;
            _this.ah = null;
            _this.d = null;
            _this.b = null;
            _this.t = null;
            _this.e = null;
            _this.f = null;
            _this.x = null;
            _this.v = null;
            _this.w = null;
            _this.z = null;
            _this.y = null;
            _this.u = null;
            _this.h = null;
            _this.g = null;
            _this.c = null;
            _this.s = null;
            _this.a = null;
            _this.q = null;
            _this.r = null;
            _this.i = null;
            _this.l = null;
            _this.m = null;
            _this.p = null;
            _this.j = null;
            _this.k = null;
            _this.n = null;
            _this.o = null;
            _this.d = new MorphSegment();
            _this.b = new MorphSegment();
            _this.t = new MorphSegment();
            _this.e = new MorphSegment();
            _this.f = new MorphSegment();
            _this.x = new MorphSegment();
            _this.v = new MorphSegment();
            _this.w = new MorphSegment();
            _this.z = new MorphSegment();
            _this.y = new MorphSegment();
            _this.u = new MorphSegment();
            _this.h = new MorphSegment();
            _this.g = new MorphSegment();
            _this.c = new MorphSegment();
            _this.s = new MorphSegment();
            _this.a = new MorphSegment();
            _this.q = new MorphSegment();
            _this.r = new MorphSegment();
            _this.i = new MorphSegment();
            _this.l = new MorphSegment();
            _this.m = new MorphSegment();
            _this.p = new MorphSegment();
            _this.j = new MorphSegment();
            _this.k = new MorphSegment();
            _this.n = new MorphSegment();
            _this.o = new MorphSegment();
            return _this;
        }
        RadialGaugeNeedleFrame.prototype.ag = function (a, b, c) {
            this.ad = b.ad + (c.ad - b.ad) * a;
            this.ac = b.ac + (c.ac - b.ac) * a;
            this.af = b.af + (c.af - b.af) * a;
            this.ab = b.ab + (c.ab - b.ab) * a;
            this.aj = igniteuiAngularCore.BrushUtil.n(b.aj, a, c.aj, 0);
            this.ak = igniteuiAngularCore.BrushUtil.n(b.ak, a, c.ak, 0);
            this.ae = b.ae + (c.ae - b.ae) * a;
            this.aa = b.aa + (c.aa - b.aa) * a;
            this.ah = igniteuiAngularCore.BrushUtil.n(b.ah, a, c.ah, 0);
            this.ai = igniteuiAngularCore.BrushUtil.n(b.ai, a, c.ai, 0);
            this.d.j(a, b.d, c.d);
            this.b.j(a, b.b, c.b);
            this.t.j(a, b.t, c.t);
            this.e.j(a, b.e, c.e);
            this.f.j(a, b.f, c.f);
            this.x.j(a, b.x, c.x);
            this.v.j(a, b.v, c.v);
            this.w.j(a, b.w, c.w);
            this.z.j(a, b.z, c.z);
            this.y.j(a, b.y, c.y);
            this.u.j(a, b.u, c.u);
            this.h.j(a, b.h, c.h);
            this.g.j(a, b.g, c.g);
            this.c.j(a, b.c, c.c);
            this.s.j(a, b.s, c.s);
            this.a.j(a, b.a, c.a);
            this.q.j(a, b.q, c.q);
            this.r.j(a, b.r, c.r);
            this.i.j(a, b.i, c.i);
            this.l.j(a, b.l, c.l);
            this.m.j(a, b.m, c.m);
            this.p.j(a, b.p, c.p);
            this.j.j(a, b.j, c.j);
            this.k.j(a, b.k, c.k);
            this.n.j(a, b.n, c.n);
            this.o.j(a, b.o, c.o);
        };
        RadialGaugeNeedleFrame.prototype.am = function (a, b, c) {
            var d = new igniteuiAngularCore.PathGeometry();
            var e = new igniteuiAngularCore.PathFigure();
            var f = { $type: igniteuiAngularCore.Point_$type, x: NaN, y: NaN };
            f = this.d.l(f, e, a, b, c);
            f = this.b.l(f, e, a, b, c);
            f = this.t.l(f, e, a, b, c);
            f = this.e.l(f, e, a, b, c);
            f = this.f.l(f, e, a, b, c);
            f = this.x.l(f, e, a, b, c);
            f = this.v.l(f, e, a, b, c);
            f = this.w.l(f, e, a, b, c);
            f = this.z.l(f, e, a, b, c);
            f = this.y.l(f, e, a, b, c);
            f = this.u.l(f, e, a, b, c);
            f = this.h.l(f, e, a, b, c);
            f = this.g.l(f, e, a, b, c);
            f = this.c.l(f, e, a, b, c);
            f = this.s.l(f, e, a, b, c);
            f = this.a.l(f, e, a, b, c);
            e._isClosed = true;
            d.c.add(e);
            var g = new igniteuiAngularCore.PathFigure();
            if (this.q.f.count > 0 || this.r.f.count > 0) {
                f = this.q.l(f, g, a, b, c);
                f = this.r.l(f, g, a, b, c);
                g._isClosed = true;
                d.c.add(g);
            }
            return d;
        };
        RadialGaugeNeedleFrame.prototype.an = function (a, b, c) {
            var d = new igniteuiAngularCore.PathGeometry();
            var e = { $type: igniteuiAngularCore.Point_$type, x: NaN, y: NaN };
            var f = new igniteuiAngularCore.PathFigure();
            if (this.m.f.count > 0 || this.p.f.count > 0) {
                e = this.m.l(e, f, a, b, c);
                e = this.p.l(e, f, a, b, c);
                f._isClosed = true;
                d.c.add(f);
            }
            var g = new igniteuiAngularCore.PathFigure();
            if (this.n.f.count > 0 || this.o.f.count > 0) {
                e = this.n.l(e, g, a, b, c);
                e = this.o.l(e, g, a, b, c);
                g._isClosed = true;
                d.c.add(g);
            }
            return d;
        };
        RadialGaugeNeedleFrame.prototype.al = function (a, b, c) {
            var d = new igniteuiAngularCore.PathGeometry();
            var e = { $type: igniteuiAngularCore.Point_$type, x: NaN, y: NaN };
            var f = new igniteuiAngularCore.PathFigure();
            if (this.i.f.count > 0 || this.l.f.count > 0) {
                e = this.i.l(e, f, a, b, c);
                e = this.l.l(e, f, a, b, c);
                f._isClosed = true;
                d.c.add(f);
            }
            var g = new igniteuiAngularCore.PathFigure();
            if (this.j.f.count > 0 || this.k.f.count > 0) {
                e = this.j.l(e, g, a, b, c);
                e = this.k.l(e, g, a, b, c);
                g._isClosed = true;
                d.c.add(g);
            }
            return d;
        };
        RadialGaugeNeedleFrame.$t = igniteuiAngularCore.markType(RadialGaugeNeedleFrame, 'RadialGaugeNeedleFrame');
        return RadialGaugeNeedleFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeScaleFrameLabel = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeScaleFrameLabel, _super);
        function RadialGaugeScaleFrameLabel() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.b = 0;
            _this.h = null;
            _this.e = 0;
            _this.d = 0;
            _this.f = 0;
            _this.g = 0;
            _this.c = 0;
            _this.i = null;
            _this.a = null;
            return _this;
        }
        RadialGaugeScaleFrameLabel.$t = igniteuiAngularCore.markType(RadialGaugeScaleFrameLabel, 'RadialGaugeScaleFrameLabel');
        return RadialGaugeScaleFrameLabel;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeRangeFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeRangeFrame, _super);
        function RadialGaugeRangeFrame() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.f = 0;
            _this.g = 0;
            _this.e = 0;
            _this.b = 0;
            _this.c = 0;
            _this.d = 0;
            _this.k = null;
            _this.l = null;
            _this.h = 0;
            return _this;
        }
        RadialGaugeRangeFrame.a = function (a, b, c, d) {
            var e = new RadialGaugeRangeFrame();
            e.k = igniteuiAngularCore.BrushUtil.n(c.k, a, d.k, 0);
            e.l = igniteuiAngularCore.BrushUtil.n(c.l, a, d.l, 0);
            e.h = b * c.h + a * d.h;
            e.f = b * c.f + a * d.f;
            e.g = b * c.g + a * d.g;
            e.e = b * c.e + a * d.e;
            e.b = b * c.b + a * d.b;
            e.c = b * c.c + a * d.c;
            e.d = b * c.d + a * d.d;
            return e;
        };
        RadialGaugeRangeFrame.prototype.m = function (a, b, c) {
            var d = new igniteuiAngularCore.PathGeometry();
            var e = new igniteuiAngularCore.PathFigure();
            var f = 4;
            var g = 1 / a;
            var h = false;
            if (Math.abs(this.g - this.d) < g) {
                h = true;
            }
            var i = false;
            if (Math.abs(this.f - this.c) < g) {
                i = true;
            }
            var j = false;
            if ((this.b - this.e) >= 2 * Math.PI) {
                j = true;
            }
            if (i && h && j) {
                var k = this.i(0, Math.PI, this.g, a, b, c, true);
                e._startPoint = k.c;
                var l = this.i(Math.PI, 0, this.g, a, b, c, true);
                var m = new igniteuiAngularCore.PathFigure();
                var n = this.i(0, Math.PI, this.f, a, b, c, false);
                m._startPoint = n.c;
                var o = this.i(Math.PI, 0, this.f, a, b, c, false);
                e._segments.add(k.d);
                e._segments.add(l.d);
                m._segments.add(n.d);
                m._segments.add(o.d);
                d.c.add(e);
                d.c.add(m);
                return d;
            }
            var p = null;
            if (h) {
                var q = this.i(this.e, this.b, Math.max(0, this.g), a, b, c, true);
                e._startPoint = q.c;
                p = q.d;
            }
            else {
                var r = this.j(this.e, this.b, this.g, this.d, a, b, c, true, f);
                e._startPoint = r.c;
                p = r.d;
            }
            var s = null;
            var t = new igniteuiAngularCore.LineSegment(1);
            if (i) {
                var u = this.i(this.e, this.b, Math.max(0, this.f), a, b, c, false);
                s = u.d;
                t.c = u.c;
            }
            else {
                var v = this.j(this.e, this.b, this.f, this.c, a, b, c, false, f);
                s = v.d;
                t.c = v.c;
            }
            e._segments.add(p);
            e._segments.add(t);
            e._segments.add(s);
            e._isFilled = true;
            e._isClosed = true;
            d.c.add(e);
            return d;
        };
        RadialGaugeRangeFrame.prototype.j = function (a, b, c, d, e, f, g, h, i) {
            var j = new igniteuiAngularCore.PolyLineSegment();
            var k = e * c;
            var l = e * d;
            var m = Math.max(k, l);
            var n = m + m;
            var o = Math.asin(i / n) * 2;
            var p;
            var q;
            var r;
            var s = l - k;
            var t = Math.abs(b - a);
            var u = j._points;
            if (h) {
                var v = void 0;
                for (v = a; v < b; v += o) {
                    r = (v - a) / t;
                    q = k + r * s;
                    p = { $type: igniteuiAngularCore.Point_$type, x: f + Math.cos(v) * q, y: g + Math.sin(v) * q };
                    u.add(p);
                }
                v = b;
                r = (v - a) / t;
                q = k + r * s;
                p = { $type: igniteuiAngularCore.Point_$type, x: f + Math.cos(v) * q, y: g + Math.sin(v) * q };
                u.add(p);
            }
            else {
                var w = void 0;
                for (w = b; w > a; w -= o) {
                    r = (w - b) / t;
                    q = l + r * s;
                    p = { $type: igniteuiAngularCore.Point_$type, x: f + Math.cos(w) * q, y: g + Math.sin(w) * q };
                    u.add(p);
                }
                w = a;
                r = (w - b) / t;
                q = l + r * s;
                p = { $type: igniteuiAngularCore.Point_$type, x: f + Math.cos(w) * q, y: g + Math.sin(w) * q };
                u.add(p);
            }
            return new igniteuiAngularCore.Tuple$2(igniteuiAngularCore.Point_$type, igniteuiAngularCore.PathSegment.$, u._inner[0], j);
        };
        RadialGaugeRangeFrame.prototype.i = function (a, b, c, d, e, f, g) {
            var h = c * d;
            var i = new igniteuiAngularCore.ArcSegment();
            i.d = g ? 1 : 0;
            i.b = b - a > Math.PI;
            i.f = new igniteuiAngularCore.Size(1, h, h);
            var j = g ? b : a;
            var k = g ? a : b;
            i.e = { $type: igniteuiAngularCore.Point_$type, x: e + Math.cos(j) * h, y: f + Math.sin(j) * h };
            var l = { $type: igniteuiAngularCore.Point_$type, x: e + Math.cos(k) * h, y: f + Math.sin(k) * h };
            return new igniteuiAngularCore.Tuple$2(igniteuiAngularCore.Point_$type, igniteuiAngularCore.PathSegment.$, l, i);
        };
        RadialGaugeRangeFrame.$t = igniteuiAngularCore.markType(RadialGaugeRangeFrame, 'RadialGaugeRangeFrame');
        return RadialGaugeRangeFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeScaleFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeScaleFrame, _super);
        function RadialGaugeScaleFrame() {
            var _this = _super.call(this) || this;
            _this.l = null;
            _this.k = null;
            _this.c = null;
            _this.g = null;
            _this.h = null;
            _this.f = null;
            _this.i = null;
            _this.j = null;
            _this.t = 0;
            _this.e = null;
            _this.o = null;
            _this.p = null;
            _this.m = null;
            _this.ab = 0;
            _this.y = 0;
            _this.ad = 0;
            _this.ac = 0;
            _this.v = 0;
            _this.u = 0;
            _this.aa = 0;
            _this.x = 0;
            _this.ak = null;
            _this.ae = 0;
            _this.w = 0;
            _this.ai = null;
            _this.aj = null;
            _this.d = null;
            _this.z = 0;
            _this.r = null;
            _this.r = new igniteuiAngularCore.List$1(RadialGaugeRangeFrame.$, 0);
            _this.l = new Array(0);
            _this.k = new Array(0);
            _this.c = new Array(0);
            _this.g = new Array(0);
            _this.h = new Array(0);
            _this.f = new Array(0);
            _this.i = new Array(0);
            _this.j = new Array(0);
            _this.e = new Array(0);
            _this.d = new Array(0);
            _this.o = new RadialGaugeScaleFrameLabel();
            _this.p = new RadialGaugeScaleFrameLabel();
            _this.m = new RadialGaugeScaleFrameLabel();
            return _this;
        }
        RadialGaugeScaleFrame.prototype.a = function (a, b, c, d) {
            var e = Math.max(c.length, d.length);
            var f = Math.min(c.length, d.length);
            if (b.length != e) {
                b = new Array(e);
            }
            var g = 0;
            if (c.length > 0) {
                g = c[c.length - 1];
            }
            var h = 0;
            if (d.length > 0) {
                h = d[d.length - 1];
            }
            var i = c.length > d.length;
            var j = 0;
            for (j = 0; j < f; j++) {
                b[j] = c[j] + (d[j] - c[j]) * a;
            }
            var k;
            var l;
            for (j = f; j < e; j++) {
                if (i) {
                    k = c[j];
                    l = h;
                }
                else {
                    k = g;
                    l = d[j];
                }
                b[j] = k + (l - k) * a;
            }
            return b;
        };
        RadialGaugeScaleFrame.prototype.b = function (a, b, c, d) {
            var e = Math.max(c.length, d.length);
            var f = Math.min(c.length, d.length);
            if (b.length != e) {
                b = new Array(e);
            }
            var g = null;
            if (c.length > 0) {
                g = c[c.length - 1];
            }
            var h = null;
            if (d.length > 0) {
                h = d[d.length - 1];
            }
            var i = c.length > d.length;
            var j = 0;
            for (j = 0; j < f; j++) {
                b[j] = d[j];
            }
            var k;
            var l;
            for (j = f; j < e; j++) {
                if (i) {
                    k = c[j];
                    l = h;
                }
                else {
                    k = g;
                    l = d[j];
                }
                if (l != null) {
                    b[j] = l;
                }
                else {
                    b[j] = k;
                }
            }
            return b;
        };
        RadialGaugeScaleFrame.prototype.af = function (a, b, c) {
            var _this = this;
            this.aj = igniteuiAngularCore.BrushUtil.n(b.aj, a, c.aj, 0);
            this.ak = igniteuiAngularCore.BrushUtil.n(b.ak, a, c.ak, 0);
            this.ai = igniteuiAngularCore.BrushUtil.n(b.ai, a, c.ai, 0);
            this.ab = this.s(a, b.ab, c.ab);
            this.y = this.s(a, b.y, c.y);
            this.aa = this.s(a, b.aa, c.aa);
            this.x = this.s(a, b.x, c.x);
            this.z = this.s(a, b.z, c.z);
            this.t = this.s(a, b.t, c.t);
            this.ad = this.s(a, b.ad, c.ad);
            this.ac = this.s(a, b.ac, c.ac);
            this.ae = this.s(a, b.ae, c.ae);
            this.v = this.s(a, b.v, c.v);
            this.u = this.s(a, b.u, c.u);
            this.w = this.s(a, b.w, c.w);
            this.l = this.a(a, this.l, b.l, c.l);
            this.k = this.a(a, this.k, b.k, c.k);
            this.c = this.a(a, this.c, b.c, c.c);
            this.h = this.a(a, this.h, b.h, c.h);
            this.f = this.a(a, this.f, b.f, c.f);
            this.i = this.a(a, this.i, b.i, c.i);
            this.j = this.a(a, this.j, b.j, c.j);
            this.g = this.b(a, this.g, b.g, c.g);
            this.e = igniteuiAngularCore.InterpolationUtil.a(igniteuiAngularCore.FontInfo.$, this.e, a, b.e, c.e, function () { return null; }, function (d, e, f, g) { return _this.q(d, f, g); });
            this.d = igniteuiAngularCore.InterpolationUtil.a(igniteuiAngularCore.Brush.$, this.d, a, b.d, c.d, function () { return null; }, function (d, e, f, g) { return _this.ah(d, f, g); });
            this.p = this.n(a, b.p, c.p);
            this.o = this.n(a, b.o, c.o);
            this.m = this.n(a, b.m, c.m);
            this.ag(a, this.r, b.r, c.r);
        };
        RadialGaugeScaleFrame.prototype.ag = function (a, b, c, d) {
            igniteuiAngularCore.InterpolationUtil.e(RadialGaugeRangeFrame.$, b, a, c, d, function () { return new RadialGaugeRangeFrame(); }, RadialGaugeRangeFrame.a);
        };
        RadialGaugeScaleFrame.prototype.ah = function (a, b, c) {
            if (b == null && c == null) {
                return null;
            }
            else {
                return igniteuiAngularCore.BrushUtil.n(b, a, c, 0);
            }
        };
        RadialGaugeScaleFrame.prototype.s = function (a, b, c) {
            return b + (c - b) * a;
        };
        RadialGaugeScaleFrame.prototype.q = function (a, b, c) {
            var d = new igniteuiAngularCore.FontInfo();
            igniteuiAngularCore.FontUtil.interpolateFont(d, a, b, c);
            return d;
        };
        RadialGaugeScaleFrame.prototype.n = function (a, b, c) {
            b.i = this.ah(a, b.i, c.i);
            b.c = this.s(a, b.c, c.c);
            b.b = this.s(a, b.b, c.b);
            b.f = this.s(a, b.f, c.f);
            b.g = this.s(a, b.g, c.g);
            b.e = this.s(a, b.e, c.e);
            b.d = this.s(a, b.d, c.d);
            b.h = c.h;
            b.a = this.q(a, b.a, c.a);
            return b;
        };
        RadialGaugeScaleFrame.$t = igniteuiAngularCore.markType(RadialGaugeScaleFrame, 'RadialGaugeScaleFrame');
        return RadialGaugeScaleFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var BackingFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(BackingFrame, _super);
        function BackingFrame() {
            var _this = _super.call(this) || this;
            _this.l = null;
            _this.m = null;
            _this.h = 0;
            _this.g = 0;
            _this.c = 0;
            _this.f = 0;
            _this.e = 0;
            _this.d = 0;
            _this.b = 0;
            return _this;
        }
        BackingFrame.prototype.k = function (a, b, c) {
            this.h = b.h + (c.h - b.h) * a;
            this.l = igniteuiAngularCore.BrushUtil.n(b.l, a, c.l, 0);
            this.m = igniteuiAngularCore.BrushUtil.n(b.m, a, c.m, 0);
            this.g = b.g + (c.g - b.g) * a;
            this.c = b.c + (c.c - b.c) * a;
            this.e = b.e + (c.e - b.e) * a;
            this.d = b.d + (c.d - b.d) * a;
            this.b = b.b + (c.b - b.b) * a;
            this.f = b.f + (c.f - b.f) * a;
        };
        BackingFrame.prototype.i = function (a, b, c, d) {
            var _this = this;
            a._startPoint = { $type: igniteuiAngularCore.Point_$type, x: b * this.e + c, y: 0 + d };
            var e = ((function () {
                var $ret = new igniteuiAngularCore.ArcSegment();
                $ret.e = { $type: igniteuiAngularCore.Point_$type, x: -1 * b * _this.e + c, y: 0 + d };
                $ret.b = false;
                $ret.d = 1;
                $ret.f = new igniteuiAngularCore.Size(1, b * _this.e, b * _this.e);
                return $ret;
            })());
            var f = ((function () {
                var $ret = new igniteuiAngularCore.ArcSegment();
                $ret.e = { $type: igniteuiAngularCore.Point_$type, x: b * _this.e + c, y: 0 + d };
                $ret.b = false;
                $ret.d = 1;
                $ret.f = new igniteuiAngularCore.Size(1, b * _this.e, b * _this.e);
                return $ret;
            })());
            a._segments.add(e);
            a._segments.add(f);
            a._isClosed = true;
        };
        BackingFrame.prototype.n = function (a, b, c) {
            var d = new igniteuiAngularCore.PathGeometry();
            var e = new igniteuiAngularCore.PathFigure();
            if (this.g == this.c) {
                this.i(e, a, b, c);
            }
            else {
                var f = this.e;
                var g = this.d;
                var h = this.g;
                var i = this.c;
                var j = this.f;
                var k = h;
                var l = i;
                h -= j;
                i += j;
                if ((i - h) > 2 * Math.PI) {
                    this.i(e, a, b, c);
                }
                else {
                    this.j(e, a, b, c);
                }
            }
            e._isClosed = true;
            d.c.add(e);
            return d;
        };
        BackingFrame.prototype.a = function (a, b) {
            return Math.abs(a - b) < 1E-05;
        };
        BackingFrame.prototype.j = function (a, b, c, d) {
            var e = this.e;
            var f = this.d;
            var g = this.g;
            var h = this.c;
            var i = this.f;
            var j = g;
            var k = h;
            g -= i;
            h += i;
            var l = Math.sin(g);
            var m = Math.cos(g);
            var n = Math.sin(h);
            var o = Math.cos(h);
            var p = this.b;
            var q = b * e;
            var r = b * f;
            if (p * 2 > (q - r)) {
                p = (q - r) / 2;
            }
            var s = p / (b - p);
            var t = Math.atan(s);
            var u = q - p;
            var v = r + p;
            var w = Math.sin(g - t);
            var x = Math.sin(g + t);
            var y = Math.cos(g - t);
            var z = Math.cos(g + t);
            var aa = Math.sin(h - t);
            var ab = Math.sin(h + t);
            var ac = Math.cos(h - t);
            var ad = Math.cos(h + t);
            var ae = Math.sin(j);
            var af = Math.sin(k);
            var ag = Math.cos(j);
            var ah = Math.cos(k);
            a._startPoint = { $type: igniteuiAngularCore.Point_$type, x: m * u + c, y: l * u + d };
            var ai = ((function () {
                var $ret = new igniteuiAngularCore.ArcSegment();
                $ret.e = { $type: igniteuiAngularCore.Point_$type, x: z * q + c, y: x * q + d };
                $ret.b = (t * 2) > Math.PI;
                $ret.d = 1;
                $ret.f = new igniteuiAngularCore.Size(1, p, p);
                return $ret;
            })());
            var aj = ((function () {
                var $ret = new igniteuiAngularCore.ArcSegment();
                $ret.e = { $type: igniteuiAngularCore.Point_$type, x: ac * q + c, y: aa * q + d };
                $ret.b = ((h - t) - (g + t)) > Math.PI;
                $ret.d = 1;
                $ret.f = new igniteuiAngularCore.Size(1, q, q);
                return $ret;
            })());
            var ak = ((function () {
                var $ret = new igniteuiAngularCore.ArcSegment();
                $ret.e = { $type: igniteuiAngularCore.Point_$type, x: o * u + c, y: n * u + d };
                $ret.b = (t * 2) > Math.PI;
                $ret.d = 1;
                $ret.f = new igniteuiAngularCore.Size(1, p, p);
                return $ret;
            })());
            var al = { $type: igniteuiAngularCore.Point_$type, x: ah * q + c, y: af * q + d };
            var am = { $type: igniteuiAngularCore.Point_$type, x: ah * r + c, y: af * r + d };
            var an = { $type: igniteuiAngularCore.Point_$type, x: o * q + c, y: n * q + d };
            var ao = { $type: igniteuiAngularCore.Point_$type, x: o * r + c, y: n * r + d };
            var ap = an.y;
            var aq = an.x;
            if (al.x - am.x != 0) {
                aq = c;
                var ar = (al.y - am.y) / (al.x - am.x);
                ap = ar * (c - an.x) + an.y;
            }
            ao = { $type: igniteuiAngularCore.Point_$type, x: c, y: ap };
            if (this.a(ao.x, an.x) && this.a(ao.y, an.y)) {
                ao = am;
            }
            var as = igniteuiAngularCore.GeometryUtil.o(ao, an, { $type: igniteuiAngularCore.Point_$type, x: c, y: d }, r);
            var at = { $type: igniteuiAngularCore.Point_$type, x: ag * q + c, y: ae * q + d };
            var au = { $type: igniteuiAngularCore.Point_$type, x: ag * r + c, y: ae * r + d };
            var av = { $type: igniteuiAngularCore.Point_$type, x: m * q + c, y: l * q + d };
            var aw = { $type: igniteuiAngularCore.Point_$type, x: m * r + c, y: l * r + d };
            var ax = av.y;
            var ay = av.x;
            if (at.x - au.x != 0) {
                ay = c;
                var az = (at.y - au.y) / (at.x - au.x);
                ax = az * (c - av.x) + av.y;
            }
            aw = { $type: igniteuiAngularCore.Point_$type, x: ay, y: ax };
            if (this.a(aw.x, av.x) && this.a(aw.y, av.y)) {
                aw = au;
            }
            var a0 = igniteuiAngularCore.GeometryUtil.o(aw, av, { $type: igniteuiAngularCore.Point_$type, x: c, y: d }, r);
            if (igniteuiAngularCore.isNaN_(as.c.x) || igniteuiAngularCore.isNaN_(as.c.y) || igniteuiAngularCore.isNaN_(as.d.x) || igniteuiAngularCore.isNaN_(as.d.y) || igniteuiAngularCore.isNaN_(a0.c.x) || igniteuiAngularCore.isNaN_(a0.c.y) || igniteuiAngularCore.isNaN_(a0.d.x) || igniteuiAngularCore.isNaN_(a0.d.y)) {
                a._startPoint = { $type: igniteuiAngularCore.Point_$type, x: m * q + c, y: l * q + d };
                a._segments.add(aj);
                var a1 = ((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: m * q + c, y: l * q + d };
                    return $ret;
                })());
                a._segments.add(a1);
            }
            else {
                var a2_1;
                var a3_1;
                if ((Math.pow(as.c.x - an.x, 2) + Math.pow(as.c.y - an.y, 2)) < (Math.pow(as.d.x - an.x, 2) + Math.pow(as.d.y - an.y, 2))) {
                    a2_1 = as.c;
                }
                else {
                    a2_1 = as.d;
                }
                if ((Math.pow(a0.c.x - av.x, 2) + Math.pow(a0.c.y - av.y, 2)) < (Math.pow(a0.d.x - av.x, 2) + Math.pow(a0.d.y - av.y, 2))) {
                    a3_1 = a0.c;
                }
                else {
                    a3_1 = a0.d;
                }
                if ((Math.pow(a3_1.x - an.x, 2) + Math.pow(a3_1.y - an.y, 2)) <= (Math.pow(a2_1.x - an.x, 2) + Math.pow(a2_1.y - an.y, 2))) {
                    a._startPoint = { $type: igniteuiAngularCore.Point_$type, x: m * q + c, y: l * q + d };
                    a._segments.add(aj);
                    var a4 = ((function () {
                        var $ret = new igniteuiAngularCore.LineSegment(1);
                        $ret.c = { $type: igniteuiAngularCore.Point_$type, x: m * q + c, y: l * q + d };
                        return $ret;
                    })());
                    a._segments.add(a4);
                }
                else {
                    a._segments.add(ai);
                    a._segments.add(aj);
                    a._segments.add(ak);
                    var a5 = ((function () {
                        var $ret = new igniteuiAngularCore.LineSegment(1);
                        $ret.c = a2_1;
                        return $ret;
                    })());
                    a._segments.add(a5);
                    var a6_1 = igniteuiAngularCore.GeometryUtil.g({ $type: igniteuiAngularCore.Point_$type, x: c, y: d }, a2_1);
                    var a7_1 = igniteuiAngularCore.GeometryUtil.g({ $type: igniteuiAngularCore.Point_$type, x: c, y: d }, a3_1);
                    while (a7_1 < a6_1) {
                        a7_1 += 2 * Math.PI;
                    }
                    var a8 = ((function () {
                        var $ret = new igniteuiAngularCore.ArcSegment();
                        $ret.e = a3_1;
                        $ret.b = a7_1 - a6_1 > Math.PI;
                        $ret.d = 1;
                        $ret.f = new igniteuiAngularCore.Size(1, r, r);
                        return $ret;
                    })());
                    a._segments.add(a8);
                    var a9 = ((function () {
                        var $ret = new igniteuiAngularCore.LineSegment(1);
                        $ret.c = { $type: igniteuiAngularCore.Point_$type, x: m * u + c, y: l * u + d };
                        return $ret;
                    })());
                    a._segments.add(a9);
                }
            }
        };
        BackingFrame.$t = igniteuiAngularCore.markType(BackingFrame, 'BackingFrame');
        return BackingFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeFrame = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeFrame, _super);
        function RadialGaugeFrame() {
            var _this = _super.call(this) || this;
            _this.c = null;
            _this.b = null;
            _this.d = null;
            _this.a = null;
            _this.e = 0;
            _this.c = new RadialGaugeNeedleFrame();
            _this.b = new RadialGaugeNeedleFrame();
            _this.d = new RadialGaugeScaleFrame();
            _this.a = new BackingFrame();
            return _this;
        }
        RadialGaugeFrame.prototype.f = function (a, b, c) {
            this.e = b.e + (c.e - b.e) * a;
            this.c.ag(a, b.c, c.c);
            this.b.ag(a, b.b, c.b);
            this.d.af(a, b.d, c.d);
            this.a.k(a, b.a, c.a);
        };
        RadialGaugeFrame.$t = igniteuiAngularCore.markType(RadialGaugeFrame, 'RadialGaugeFrame');
        return RadialGaugeFrame;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var FormatRadialGaugeLabelEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(FormatRadialGaugeLabelEventArgs, _super);
        function FormatRadialGaugeLabelEventArgs() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.actualMinimumValue = 0;
            _this.actualMaximumValue = 0;
            _this.startAngle = 0;
            _this.endAngle = 0;
            _this.angle = 0;
            _this.value = 0;
            _this.label = null;
            _this.extent = 0;
            return _this;
        }
        FormatRadialGaugeLabelEventArgs.$t = igniteuiAngularCore.markType(FormatRadialGaugeLabelEventArgs, 'FormatRadialGaugeLabelEventArgs', igniteuiAngularCore.EventArgs.$);
        return FormatRadialGaugeLabelEventArgs;
    }(igniteuiAngularCore.EventArgs));

    /*
    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.
    */
    /**
     * @hidden
     */
    var AlignRadialGaugeLabelEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(AlignRadialGaugeLabelEventArgs, _super);
        function AlignRadialGaugeLabelEventArgs() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.width = 0;
            _this.height = 0;
            _this.offsetX = 0;
            _this.offsetY = 0;
            _this.brush = null;
            _this.font = 0;
            return _this;
        }
        AlignRadialGaugeLabelEventArgs.$t = igniteuiAngularCore.markType(AlignRadialGaugeLabelEventArgs, 'AlignRadialGaugeLabelEventArgs', FormatRadialGaugeLabelEventArgs.$);
        return AlignRadialGaugeLabelEventArgs;
    }(FormatRadialGaugeLabelEventArgs));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeNeedleParameters = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeNeedleParameters, _super);
        function RadialGaugeNeedleParameters() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.m = 0;
            _this.k = 0;
            _this.n = 0;
            _this.l = 0;
            _this.e = 0;
            _this.d = 0;
            _this.q = 0;
            _this.p = 0;
            _this.j = 0;
            _this.b = 0;
            _this.c = 0;
            _this.i = 0;
            _this.r = null;
            _this.s = null;
            _this.h = 0;
            _this.t = null;
            _this.u = null;
            _this.o = 0;
            _this.g = 0;
            _this.f = 0;
            return _this;
        }
        RadialGaugeNeedleParameters.prototype.a = function () {
            var a = new RadialGaugeNeedleParameters();
            a.m = this.m;
            a.k = this.k;
            a.n = this.n;
            a.l = this.l;
            a.e = this.e;
            a.d = this.d;
            a.q = this.q;
            a.p = this.p;
            a.b = this.b;
            a.c = this.c;
            a.i = this.i;
            a.r = this.r;
            a.s = this.s;
            a.h = this.h;
            a.t = this.t;
            a.u = this.u;
            a.o = this.o;
            a.g = this.g;
            a.f = this.f;
            return a;
        };
        RadialGaugeNeedleParameters.$t = igniteuiAngularCore.markType(RadialGaugeNeedleParameters, 'RadialGaugeNeedleParameters');
        return RadialGaugeNeedleParameters;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RadialGaugeNeedlePreparer = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RadialGaugeNeedlePreparer, _super);
        function RadialGaugeNeedlePreparer() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this.b = null;
            return _this;
        }
        RadialGaugeNeedlePreparer.prototype.e = function (a) {
            var b = this.b;
            a.aj = b.t;
            a.ak = b.u;
            a.ah = b.r;
            a.ai = b.s;
            a.ae = b.o;
            a.aa = b.h;
            switch (b.b) {
                case 0:
                    this.i(a);
                    break;
                case 1:
                    this.j(a);
                    break;
                case 2:
                    this.n(a);
                    break;
                case 4:
                    this.l(a);
                    break;
                case 5:
                    this.k(a);
                    break;
                case 3:
                    this.g(a);
                    break;
                case 7:
                    this.h(a);
                    break;
                case 8:
                    this.m(a);
                    break;
                case 6:
                    this.o(a);
                    break;
            }
            switch (b.c) {
                case 3:
                    this.d(a, true, false);
                    break;
                case 5:
                    this.d(a, false, false);
                    break;
                case 4:
                    this.d(a, true, true);
                    break;
                case 6:
                    this.d(a, false, true);
                    break;
            }
        };
        RadialGaugeNeedlePreparer.prototype.d = function (a, b, c) {
            var d = this.a();
            var e = d.i;
            var f = d.g;
            var g = d.f;
            var h = a.m;
            if (b) {
                h = a.i;
            }
            var i = h.f;
            h.b = true;
            h.c = true;
            h.d = false;
            h.h = e;
            i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 + e, y: 0 });
            i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 - e, y: 0 });
            h = a.p;
            if (b) {
                h = a.l;
            }
            i = h.f;
            h.b = true;
            h.c = true;
            h.d = true;
            h.h = e;
            i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 - e, y: 0 });
            i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 + e, y: 0 });
            if (c) {
                h = a.n;
                if (b) {
                    h = a.j;
                }
                i = h.f;
                h.b = true;
                h.c = false;
                h.d = false;
                h.h = g;
                i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 + g, y: 0 });
                i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 - g, y: 0 });
                h = a.o;
                if (b) {
                    h = a.k;
                }
                i = h.f;
                h.b = true;
                h.c = false;
                h.d = true;
                h.h = g;
                i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 - g, y: 0 });
                i.add({ $type: igniteuiAngularCore.Point_$type, x: 0 + g, y: 0 });
            }
        };
        RadialGaugeNeedlePreparer.prototype.o = function (a) {
            this.f(a, false, true, false, true);
        };
        RadialGaugeNeedlePreparer.prototype.m = function (a) {
            this.f(a, false, false, true, true);
        };
        RadialGaugeNeedlePreparer.prototype.l = function (a) {
            this.f(a, false, false, true, false);
        };
        RadialGaugeNeedlePreparer.prototype.n = function (a) {
            this.f(a, false, true, false, false);
        };
        RadialGaugeNeedlePreparer.prototype.h = function (a) {
            this.f(a, false, false, false, true);
        };
        RadialGaugeNeedlePreparer.prototype.c = function (a, b, c, d, e) {
            var f = 0;
            if (c == a) {
                f = 0;
            }
            else {
                f = (e - a) / (c - a);
            }
            var g = b + (d - b) * f;
            return g;
        };
        RadialGaugeNeedlePreparer.prototype.f = function (a, b, c, d, e) {
            this.p(a);
            var f = this.a();
            a.ad = f.m;
            a.ac = f.k;
            a.af = 0;
            if (!igniteuiAngularCore.isNaN_(f.l)) {
                a.af = Math.max(a.af, f.l);
            }
            if (!igniteuiAngularCore.isNaN_(f.i)) {
                a.af = Math.max(a.af, f.i);
            }
            if (!igniteuiAngularCore.isNaN_(f.q)) {
                a.af = Math.max(a.af, f.q);
            }
            if (!igniteuiAngularCore.isNaN_(f.e)) {
                a.af = Math.max(a.af, f.e);
            }
            if (c) {
                f.p = f.k;
                f.q = 0;
            }
            if (d) {
                f.p = f.k;
                f.q = f.l;
            }
            if (b) {
                var g = Math.max(f.n, f.l);
                f.n = g;
                f.l = g;
                f.p = f.k;
                f.q = f.l;
            }
            if (igniteuiAngularCore.isNaN_(f.p)) {
                f.p = f.k;
            }
            var h = f.c == 1 || f.c == 2;
            var i = f.n;
            var j = f.l;
            if (!d && !b) {
                j = 0;
            }
            var k = f.q;
            var l = f.i;
            var m = f.m;
            var n = f.k;
            var o = f.d;
            var p = f.p;
            var q = f.e;
            var r = true;
            var s = true;
            if (igniteuiAngularCore.isNaN_(p)) {
                r = false;
                p = n;
            }
            if (igniteuiAngularCore.isNaN_(o)) {
                s = false;
                o = m;
            }
            var t = f.f;
            var u = f.g;
            var v = 0;
            var w = u;
            var x = u;
            var y = this.c(m, i, p, k, u);
            var z = y;
            var aa = f.c == 2;
            if (h) {
                var ab = igniteuiAngularCore.GeometryUtil.o({ $type: igniteuiAngularCore.Point_$type, x: m, y: i }, { $type: igniteuiAngularCore.Point_$type, x: p, y: k }, { $type: igniteuiAngularCore.Point_$type, x: 0, y: 0 }, l);
                if (igniteuiAngularCore.isNaN_(ab.c.x) || igniteuiAngularCore.isNaN_(ab.c.y) || igniteuiAngularCore.isNaN_(ab.d.x) || igniteuiAngularCore.isNaN_(ab.d.y)) {
                    h = false;
                }
                else {
                    var ac = ab.c;
                    var ad = ab.d;
                    w = ac.x;
                    x = ad.x;
                    y = ac.y;
                    z = ad.y;
                    if (w > x) {
                        var ae = w;
                        w = x;
                        x = ae;
                        ae = y;
                        y = z;
                        z = ae;
                    }
                }
            }
            if (aa) {
                var af = igniteuiAngularCore.GeometryUtil.o({ $type: igniteuiAngularCore.Point_$type, x: m, y: i }, { $type: igniteuiAngularCore.Point_$type, x: p, y: k }, { $type: igniteuiAngularCore.Point_$type, x: 0, y: 0 }, t);
                if ((igniteuiAngularCore.isNaN_(af.c.x) || igniteuiAngularCore.isNaN_(af.c.y) || igniteuiAngularCore.isNaN_(af.d.x) || igniteuiAngularCore.isNaN_(af.d.y)) || h) {
                    aa = true;
                }
                else {
                    aa = false;
                }
            }
            if (m > x || n < w) {
                h = false;
                w = m;
                x = m;
            }
            var ag = false;
            var ah = false;
            if (h && m >= w) {
                ag = true;
            }
            if (h && n <= x) {
                ah = true;
            }
            if (igniteuiAngularCore.isNaN_(o) || o > w) {
                o = w;
            }
            if (p < x) {
                p = x;
            }
            var ai = e;
            var aj = l;
            var ak = l;
            if (o + q > w) {
                ai = false;
            }
            var al = o;
            var am = i;
            var an = o;
            var ao = i;
            var ap = w;
            var aq = x;
            var ar = y;
            var as = z;
            var at = w;
            var au = x;
            var av = y;
            var aw = z;
            if (ai) {
                var ax = igniteuiAngularCore.GeometryUtil.o({ $type: igniteuiAngularCore.Point_$type, x: m, y: i }, { $type: igniteuiAngularCore.Point_$type, x: p, y: k }, { $type: igniteuiAngularCore.Point_$type, x: o, y: 0 }, q);
                if ((!igniteuiAngularCore.isNaN_(ax.c.x) && !igniteuiAngularCore.isNaN_(ax.c.y) && !igniteuiAngularCore.isNaN_(ax.d.x) && !igniteuiAngularCore.isNaN_(ax.d.y))) {
                    ai = true;
                    al = ax.c.x;
                    am = ax.c.y;
                    an = ax.d.x;
                    ao = ax.d.y;
                    if (al > an) {
                        var ay = al;
                        al = an;
                        an = ay;
                        ay = am;
                        am = ao;
                        ao = ay;
                    }
                }
                else {
                    ai = false;
                }
            }
            if (ag) {
                ai = false;
            }
            if (ai && m >= al) {
                ag = true;
                aj = q;
                ap = al;
                ar = am;
                aq = an;
                as = ao;
            }
            if (ai && n <= an) {
                ah = true;
                ak = q;
                ak = q;
                at = al;
                av = am;
                au = an;
                aw = ao;
            }
            var az = m;
            var a0 = a.a;
            var a1 = a0.f;
            var a2 = i;
            if (ag) {
                az = ap;
                a0.b = true;
                a0.d = false;
                a0.c = false;
                a0.h = aj;
                o = ap;
                m = ap;
                a2 = ar;
                i = ar;
                h = false;
            }
            if (ah) {
                p = au;
                n = au;
                h = false;
            }
            var a3 = ag || ah || h;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.d;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            az = al;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.b;
            a1 = a0.f;
            if (ai) {
                a0.b = true;
                a0.d = false;
                a0.c = false;
                a0.h = q;
            }
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            az = an;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.t;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            az = w;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.e;
            a1 = a0.f;
            if (a3) {
                a0.b = true;
                a0.d = false;
                a0.c = false;
                a0.h = l;
            }
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            az = x;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.f;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            az = p;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.x;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.v;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            az = n;
            a2 = this.c(p, k, n, j, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a0 = a.w;
            a1 = a0.f;
            if (ah) {
                az = au;
                a0.b = true;
                a0.d = false;
                a0.c = false;
                a0.h = ak;
            }
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: a2 });
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.z;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            az = p;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.y;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.u;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            az = x;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.h;
            a1 = a0.f;
            if (a3) {
                a0.b = true;
                a0.d = false;
                a0.c = false;
                a0.h = l;
            }
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            az = w;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.g;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            az = an;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.c;
            a1 = a0.f;
            if (ai) {
                a0.b = true;
                a0.d = false;
                a0.c = false;
                a0.h = q;
            }
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            az = al;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.s;
            a1 = a0.f;
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            az = m;
            a2 = this.c(m, i, p, k, az);
            a1.add({ $type: igniteuiAngularCore.Point_$type, x: az, y: -1 * a2 });
            a0 = a.q;
            a1 = a0.f;
            if (aa && a3) {
                a0.b = true;
                a0.c = true;
                a0.d = false;
                a0.h = t;
                a1.add({ $type: igniteuiAngularCore.Point_$type, x: 0 + t, y: 0 });
                a1.add({ $type: igniteuiAngularCore.Point_$type, x: 0 - t, y: 0 });
            }
            a0 = a.r;
            a1 = a0.f;
            if (aa && a3) {
                a0.b = true;
                a0.c = true;
                a0.d = true;
                a0.h = t;
                a1.add({ $type: igniteuiAngularCore.Point_$type, x: 0 - t, y: 0 });
                a1.add({ $type: igniteuiAngularCore.Point_$type, x: 0 + t, y: 0 });
            }
        };
        RadialGaugeNeedlePreparer.prototype.g = function (a) {
            this.f(a, false, false, false, false);
        };
        RadialGaugeNeedlePreparer.prototype.k = function (a) {
            this.f(a, true, false, false, true);
        };
        RadialGaugeNeedlePreparer.prototype.a = function () {
            var a = this.b;
            var b = this.b.a();
            var c = 0;
            var d = 0.48;
            var e = NaN;
            var f = NaN;
            var g = 0.15;
            var h = 0.1;
            var i = 0.1;
            var j = 0.1;
            var k = 0.14;
            var l = 0.06;
            switch (a.b) {
                case 3:
                    f = 0.4;
                    break;
                case 4:
                    h = 0.06;
                    i = 0.02;
                    break;
                case 7:
                    f = 0.4;
                    c = -0.3;
                    e = -0.2;
                    k = 0.14;
                    break;
                case 5:
                    c = -0.3;
                    e = -0.2;
                    k = 0.14;
                    break;
                case 8:
                    i = 0.06;
                    c = -0.3;
                    e = -0.2;
                    k = 0.14;
                    break;
                case 6:
                    c = -0.3;
                    e = -0.2;
                    k = 0.14;
                    break;
            }
            var m = a.m;
            var n = a.k;
            var o = a.c == 1 || a.c == 2;
            if (igniteuiAngularCore.isNaN_(m)) {
                m = c;
            }
            if (igniteuiAngularCore.isNaN_(n)) {
                n = d;
            }
            var p = Math.min(m, n);
            var q = Math.max(m, n);
            m = p;
            n = q;
            var r = a.n;
            if (igniteuiAngularCore.isNaN_(r)) {
                r = h;
            }
            var s = a.l;
            if (igniteuiAngularCore.isNaN_(s)) {
                s = i;
            }
            var t = a.i;
            var u = a.f;
            if (igniteuiAngularCore.isNaN_(t)) {
                t = g;
            }
            if (igniteuiAngularCore.isNaN_(u)) {
                u = j;
            }
            var v = Math.max(t, u);
            var w = Math.min(t, u);
            t = v;
            u = w;
            var x = a.d;
            if (igniteuiAngularCore.isNaN_(x)) {
                x = e;
            }
            if (!igniteuiAngularCore.isNaN_(x)) {
                if (x < m) {
                    x = NaN;
                }
                if (x > 0 && m <= 0) {
                    x = NaN;
                }
                if (x > n) {
                    x = n;
                }
            }
            var y = a.p;
            if (igniteuiAngularCore.isNaN_(y)) {
                y = f;
            }
            if (!igniteuiAngularCore.isNaN_(y)) {
                if (y > n) {
                    y = NaN;
                }
                if (y < 0 && n >= 0) {
                    y = NaN;
                }
                if (y < m) {
                    y = m;
                }
            }
            var z = 0;
            if (m > 0) {
                z = m;
            }
            if (n < 0) {
                z = m;
            }
            if (t <= 0) {
                t = 0;
            }
            var aa = a.e;
            var ab = a.q;
            if (igniteuiAngularCore.isNaN_(aa)) {
                aa = k;
            }
            if (igniteuiAngularCore.isNaN_(ab)) {
                ab = l;
            }
            b.i = t / 2;
            b.f = u / 2;
            b.d = x;
            b.p = y;
            b.m = m;
            b.k = n;
            b.g = z;
            b.n = r / 2;
            b.l = s / 2;
            b.q = ab / 2;
            b.e = aa / 2;
            return b;
        };
        RadialGaugeNeedlePreparer.prototype.j = function (a) {
            this.f(a, true, false, false, false);
        };
        RadialGaugeNeedlePreparer.prototype.p = function (a) {
            a.a.k();
            a.d.k();
            a.b.k();
            a.t.k();
            a.e.k();
            a.f.k();
            a.x.k();
            a.v.k();
            a.w.k();
            a.z.k();
            a.y.k();
            a.u.k();
            a.h.k();
            a.g.k();
            a.c.k();
            a.s.k();
            a.q.k();
            a.r.k();
            a.i.k();
            a.l.k();
            a.m.k();
            a.p.k();
            a.j.k();
            a.k.k();
            a.n.k();
            a.o.k();
        };
        RadialGaugeNeedlePreparer.prototype.i = function (a) {
            this.p(a);
            var b = 0;
            var c = 0;
            var d = 0;
            var e = 0;
            var f = 0;
            var g = 0;
            var h = 0;
            var i = a.a;
            var j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: b, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: b, y: g });
            i = a.d;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: b, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: g });
            i = a.b;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: g });
            var k = f;
            var l = f;
            i = a.t;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: k, y: g });
            i = a.e;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: k, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: l, y: g });
            i = a.f;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: l, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: g });
            i = a.x;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: g });
            i = a.v;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: c, y: g });
            i = a.w;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: c, y: g });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: c, y: h });
            i = a.z;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: c, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: h });
            i = a.y;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: h });
            i = a.u;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: e, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: l, y: h });
            i = a.h;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: l, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: k, y: h });
            i = a.g;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: k, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: h });
            i = a.c;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: h });
            i = a.s;
            j = i.f;
            j.add({ $type: igniteuiAngularCore.Point_$type, x: d, y: h });
            j.add({ $type: igniteuiAngularCore.Point_$type, x: b, y: h });
        };
        RadialGaugeNeedlePreparer.$t = igniteuiAngularCore.markType(RadialGaugeNeedlePreparer, 'RadialGaugeNeedlePreparer');
        return RadialGaugeNeedlePreparer;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var GaugeVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(GaugeVisualData, _super);
        function GaugeVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._scalePath = null;
            _this._needlePath = null;
            _this._highlightNeedlePath = null;
            _this._backingPath = null;
            _this._underlayPath = null;
            _this._overlayPath = null;
            _this._scale = null;
            _this._scaleLabels = null;
            _this._titleLabels = null;
            _this._subtitleLabels = null;
            _this._highlightLabels = null;
            _this._scaleTickmarks = null;
            _this._needle = null;
            _this._highlightNeedle = null;
            _this._ranges = null;
            _this._name = null;
            _this._viewport = null;
            return _this;
        }
        Object.defineProperty(GaugeVisualData.prototype, "scalePath", {
            get: function () {
                return this._scalePath;
            },
            set: function (a) {
                this._scalePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "needlePath", {
            get: function () {
                return this._needlePath;
            },
            set: function (a) {
                this._needlePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "highlightNeedlePath", {
            get: function () {
                return this._highlightNeedlePath;
            },
            set: function (a) {
                this._highlightNeedlePath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "backingPath", {
            get: function () {
                return this._backingPath;
            },
            set: function (a) {
                this._backingPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "underlayPath", {
            get: function () {
                return this._underlayPath;
            },
            set: function (a) {
                this._underlayPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "overlayPath", {
            get: function () {
                return this._overlayPath;
            },
            set: function (a) {
                this._overlayPath = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "scale", {
            get: function () {
                return this._scale;
            },
            set: function (a) {
                this._scale = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "scaleLabels", {
            get: function () {
                return this._scaleLabels;
            },
            set: function (a) {
                this._scaleLabels = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "titleLabels", {
            get: function () {
                return this._titleLabels;
            },
            set: function (a) {
                this._titleLabels = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "subtitleLabels", {
            get: function () {
                return this._subtitleLabels;
            },
            set: function (a) {
                this._subtitleLabels = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "highlightLabels", {
            get: function () {
                return this._highlightLabels;
            },
            set: function (a) {
                this._highlightLabels = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "scaleTickmarks", {
            get: function () {
                return this._scaleTickmarks;
            },
            set: function (a) {
                this._scaleTickmarks = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "needle", {
            get: function () {
                return this._needle;
            },
            set: function (a) {
                this._needle = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "highlightNeedle", {
            get: function () {
                return this._highlightNeedle;
            },
            set: function (a) {
                this._highlightNeedle = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "ranges", {
            get: function () {
                return this._ranges;
            },
            set: function (a) {
                this._ranges = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(GaugeVisualData.prototype, "name", {
            get: function () {
                return this._name;
            },
            set: function (a) {
                this._name = a;
            },
            enumerable: false,
            configurable: true
        });
        GaugeVisualData.prototype.scaleByViewport = function () {
            var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f;
            if (this.scalePath != null) {
                this.scalePath.scaleByViewport(this.viewport);
            }
            if (this.needlePath != null) {
                this.needlePath.scaleByViewport(this.viewport);
            }
            if (this.highlightNeedlePath != null) {
                this.highlightNeedlePath.scaleByViewport(this.viewport);
            }
            if (this.backingPath != null) {
                this.backingPath.scaleByViewport(this.viewport);
            }
            if (this.underlayPath != null) {
                this.underlayPath.scaleByViewport(this.viewport);
            }
            if (this.overlayPath != null) {
                this.overlayPath.scaleByViewport(this.viewport);
            }
            if (this.scaleLabels != null) {
                try {
                    for (var _g = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleLabels)), _h = _g.next(); !_h.done; _h = _g.next()) {
                        var a = _h.value;
                        a.scaleByViewport(this.viewport);
                    }
                }
                catch (e_1_1) {
                    e_1 = { error: e_1_1 };
                }
                finally {
                    try {
                        if (_h && !_h.done && (_a = _g.return))
                            _a.call(_g);
                    }
                    finally {
                        if (e_1)
                            throw e_1.error;
                    }
                }
            }
            if (this.titleLabels != null) {
                try {
                    for (var _j = tslib.__values(igniteuiAngularCore.fromEnum(this.titleLabels)), _k = _j.next(); !_k.done; _k = _j.next()) {
                        var b = _k.value;
                        b.scaleByViewport(this.viewport);
                    }
                }
                catch (e_2_1) {
                    e_2 = { error: e_2_1 };
                }
                finally {
                    try {
                        if (_k && !_k.done && (_b = _j.return))
                            _b.call(_j);
                    }
                    finally {
                        if (e_2)
                            throw e_2.error;
                    }
                }
            }
            if (this.subtitleLabels != null) {
                try {
                    for (var _l = tslib.__values(igniteuiAngularCore.fromEnum(this.subtitleLabels)), _m = _l.next(); !_m.done; _m = _l.next()) {
                        var c = _m.value;
                        c.scaleByViewport(this.viewport);
                    }
                }
                catch (e_3_1) {
                    e_3 = { error: e_3_1 };
                }
                finally {
                    try {
                        if (_m && !_m.done && (_c = _l.return))
                            _c.call(_l);
                    }
                    finally {
                        if (e_3)
                            throw e_3.error;
                    }
                }
            }
            if (this.highlightLabels != null) {
                try {
                    for (var _o = tslib.__values(igniteuiAngularCore.fromEnum(this.highlightLabels)), _p = _o.next(); !_p.done; _p = _o.next()) {
                        var d = _p.value;
                        d.scaleByViewport(this.viewport);
                    }
                }
                catch (e_4_1) {
                    e_4 = { error: e_4_1 };
                }
                finally {
                    try {
                        if (_p && !_p.done && (_d = _o.return))
                            _d.call(_o);
                    }
                    finally {
                        if (e_4)
                            throw e_4.error;
                    }
                }
            }
            if (this.scaleTickmarks != null) {
                try {
                    for (var _q = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleTickmarks)), _r = _q.next(); !_r.done; _r = _q.next()) {
                        var e = _r.value;
                        if (e.tickPath != null) {
                            e.tickPath.scaleByViewport(this.viewport);
                        }
                    }
                }
                catch (e_5_1) {
                    e_5 = { error: e_5_1 };
                }
                finally {
                    try {
                        if (_r && !_r.done && (_e = _q.return))
                            _e.call(_q);
                    }
                    finally {
                        if (e_5)
                            throw e_5.error;
                    }
                }
            }
            if (this.ranges != null) {
                try {
                    for (var _s = tslib.__values(igniteuiAngularCore.fromEnum(this.ranges)), _t = _s.next(); !_t.done; _t = _s.next()) {
                        var f = _t.value;
                        if (f.rangePath != null) {
                            f.rangePath.scaleByViewport(this.viewport);
                        }
                    }
                }
                catch (e_6_1) {
                    e_6 = { error: e_6_1 };
                }
                finally {
                    try {
                        if (_t && !_t.done && (_f = _s.return))
                            _f.call(_s);
                    }
                    finally {
                        if (e_6)
                            throw e_6.error;
                    }
                }
            }
        };
        GaugeVisualData.prototype.serialize = function () {
            var e_7, _a, e_8, _b, e_9, _c, e_10, _d, e_11, _e, e_12, _f;
            var a = new igniteuiAngularCore.StringBuilder(0);
            var b = true;
            a.u("{");
            if (this.scalePath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("scalePath: ");
                a.u(this.scalePath.serialize());
            }
            if (this.needlePath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("needlePath: ");
                a.u(this.needlePath.serialize());
            }
            if (this.highlightNeedlePath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("highlightNeedlePath: ");
                a.u(this.highlightNeedlePath.serialize());
            }
            if (this.backingPath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("backingPath: ");
                a.u(this.backingPath.serialize());
            }
            if (this.underlayPath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("underlayPath: ");
                a.u(this.underlayPath.serialize());
            }
            if (this.overlayPath != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("overlayPath: ");
                a.u(this.overlayPath.serialize());
            }
            if (this.scaleLabels != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var c = true;
                a.l("scaleLabels: [");
                try {
                    for (var _g = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleLabels)), _h = _g.next(); !_h.done; _h = _g.next()) {
                        var d = _h.value;
                        if (c) {
                            c = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(d.serialize());
                    }
                }
                catch (e_7_1) {
                    e_7 = { error: e_7_1 };
                }
                finally {
                    try {
                        if (_h && !_h.done && (_a = _g.return))
                            _a.call(_g);
                    }
                    finally {
                        if (e_7)
                            throw e_7.error;
                    }
                }
                a.u("]");
            }
            if (this.titleLabels != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var e = true;
                a.l("titleLabels: [");
                try {
                    for (var _j = tslib.__values(igniteuiAngularCore.fromEnum(this.titleLabels)), _k = _j.next(); !_k.done; _k = _j.next()) {
                        var f = _k.value;
                        if (e) {
                            e = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(f.serialize());
                    }
                }
                catch (e_8_1) {
                    e_8 = { error: e_8_1 };
                }
                finally {
                    try {
                        if (_k && !_k.done && (_b = _j.return))
                            _b.call(_j);
                    }
                    finally {
                        if (e_8)
                            throw e_8.error;
                    }
                }
                a.u("]");
            }
            if (this.subtitleLabels != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var g = true;
                a.l("subtitleLabels: [");
                try {
                    for (var _l = tslib.__values(igniteuiAngularCore.fromEnum(this.subtitleLabels)), _m = _l.next(); !_m.done; _m = _l.next()) {
                        var h = _m.value;
                        if (g) {
                            g = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(h.serialize());
                    }
                }
                catch (e_9_1) {
                    e_9 = { error: e_9_1 };
                }
                finally {
                    try {
                        if (_m && !_m.done && (_c = _l.return))
                            _c.call(_l);
                    }
                    finally {
                        if (e_9)
                            throw e_9.error;
                    }
                }
                a.u("]");
            }
            if (this.highlightLabels != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var i = true;
                a.l("highlightLabels: [");
                try {
                    for (var _o = tslib.__values(igniteuiAngularCore.fromEnum(this.highlightLabels)), _p = _o.next(); !_p.done; _p = _o.next()) {
                        var j = _p.value;
                        if (i) {
                            i = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(j.serialize());
                    }
                }
                catch (e_10_1) {
                    e_10 = { error: e_10_1 };
                }
                finally {
                    try {
                        if (_p && !_p.done && (_d = _o.return))
                            _d.call(_o);
                    }
                    finally {
                        if (e_10)
                            throw e_10.error;
                    }
                }
                a.u("]");
            }
            if (this.scaleTickmarks != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var k = true;
                a.l("scaleTickmarks: [");
                try {
                    for (var _q = tslib.__values(igniteuiAngularCore.fromEnum(this.scaleTickmarks)), _r = _q.next(); !_r.done; _r = _q.next()) {
                        var l = _r.value;
                        if (k) {
                            k = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(l.serialize());
                    }
                }
                catch (e_11_1) {
                    e_11 = { error: e_11_1 };
                }
                finally {
                    try {
                        if (_r && !_r.done && (_e = _q.return))
                            _e.call(_q);
                    }
                    finally {
                        if (e_11)
                            throw e_11.error;
                    }
                }
                a.u("]");
            }
            if (this.needle != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("needle: ");
                a.u(this.needle.serialize());
            }
            if (this.highlightNeedle != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("highlightNeedle: ");
                a.u(this.highlightNeedle.serialize());
            }
            if (this.ranges != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                var m = true;
                a.l("ranges: [");
                try {
                    for (var _s = tslib.__values(igniteuiAngularCore.fromEnum(this.ranges)), _t = _s.next(); !_t.done; _t = _s.next()) {
                        var n = _t.value;
                        if (m) {
                            m = false;
                        }
                        else {
                            a.l(", ");
                        }
                        a.u(n.serialize());
                    }
                }
                catch (e_12_1) {
                    e_12 = { error: e_12_1 };
                }
                finally {
                    try {
                        if (_t && !_t.done && (_f = _s.return))
                            _f.call(_s);
                    }
                    finally {
                        if (e_12)
                            throw e_12.error;
                    }
                }
                a.u("]");
            }
            if (this.name != null) {
                if (b) {
                    b = false;
                }
                else {
                    a.l(", ");
                }
                a.l("name: '");
                a.l(this.name);
                a.u("'");
            }
            if (b) {
                b = false;
            }
            else {
                a.l(", ");
            }
            a.l("viewport: {");
            a.l("left: " + this.viewport.left + ", top: " + this.viewport.top + ", width: " + this.viewport.width + ", height: " + this.viewport.height);
            a.u("}");
            a.u("}");
            return a.toString();
        };
        Object.defineProperty(GaugeVisualData.prototype, "viewport", {
            get: function () {
                return this._viewport;
            },
            set: function (a) {
                this._viewport = a;
            },
            enumerable: false,
            configurable: true
        });
        GaugeVisualData.$t = igniteuiAngularCore.markType(GaugeVisualData, 'GaugeVisualData');
        return GaugeVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ScaleLabelVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ScaleLabelVisualData, _super);
        function ScaleLabelVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._labelValue = null;
            _this._labelSize = null;
            _this._labelPosition = null;
            _this._appearance = null;
            return _this;
        }
        Object.defineProperty(ScaleLabelVisualData.prototype, "labelValue", {
            get: function () {
                return this._labelValue;
            },
            set: function (a) {
                this._labelValue = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(ScaleLabelVisualData.prototype, "labelSize", {
            get: function () {
                return this._labelSize;
            },
            set: function (a) {
                this._labelSize = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(ScaleLabelVisualData.prototype, "labelPosition", {
            get: function () {
                return this._labelPosition;
            },
            set: function (a) {
                this._labelPosition = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(ScaleLabelVisualData.prototype, "appearance", {
            get: function () {
                return this._appearance;
            },
            set: function (a) {
                this._appearance = a;
            },
            enumerable: false,
            configurable: true
        });
        ScaleLabelVisualData.prototype.scaleByViewport = function (a) {
            this.labelPosition = new igniteuiAngularCore.PointData((this.labelPosition.x - a.left) / a.width, (this.labelPosition.y - a.top) / a.height);
            this.labelSize = new igniteuiAngularCore.SizeData((this.labelSize.width) / a.width, (this.labelSize.height) / a.height);
        };
        ScaleLabelVisualData.prototype.serialize = function () {
            return "{ labelValue: '" + this.labelValue + "', labelSize: { width: " + this.labelSize.width + ", height: " + this.labelSize.height + "}, labelPosition: { x: " + this.labelPosition.x + ", y: " + this.labelPosition.y + "}, appearance: " + this.appearance.serialize() + "}";
        };
        ScaleLabelVisualData.$t = igniteuiAngularCore.markType(ScaleLabelVisualData, 'ScaleLabelVisualData');
        return ScaleLabelVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ScaleLabelVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ScaleLabelVisualDataList, _super);
        function ScaleLabelVisualDataList() {
            return _super.call(this, ScaleLabelVisualData.$, 0) || this;
        }
        ScaleLabelVisualDataList.$t = igniteuiAngularCore.markType(ScaleLabelVisualDataList, 'ScaleLabelVisualDataList', igniteuiAngularCore.List$1.$.specialize(ScaleLabelVisualData.$));
        return ScaleLabelVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ScaleTickmarkVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ScaleTickmarkVisualData, _super);
        function ScaleTickmarkVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._tickPath = null;
            return _this;
        }
        Object.defineProperty(ScaleTickmarkVisualData.prototype, "tickPath", {
            get: function () {
                return this._tickPath;
            },
            set: function (a) {
                this._tickPath = a;
            },
            enumerable: false,
            configurable: true
        });
        ScaleTickmarkVisualData.prototype.serialize = function () {
            return "{ tickPath: " + this.tickPath.serialize() + "}";
        };
        ScaleTickmarkVisualData.$t = igniteuiAngularCore.markType(ScaleTickmarkVisualData, 'ScaleTickmarkVisualData');
        return ScaleTickmarkVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ScaleTickmarkVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ScaleTickmarkVisualDataList, _super);
        function ScaleTickmarkVisualDataList() {
            return _super.call(this, ScaleTickmarkVisualData.$, 0) || this;
        }
        ScaleTickmarkVisualDataList.$t = igniteuiAngularCore.markType(ScaleTickmarkVisualDataList, 'ScaleTickmarkVisualDataList', igniteuiAngularCore.List$1.$.specialize(ScaleTickmarkVisualData.$));
        return ScaleTickmarkVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RangeVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RangeVisualData, _super);
        function RangeVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._rangePath = null;
            return _this;
        }
        Object.defineProperty(RangeVisualData.prototype, "rangePath", {
            get: function () {
                return this._rangePath;
            },
            set: function (a) {
                this._rangePath = a;
            },
            enumerable: false,
            configurable: true
        });
        RangeVisualData.prototype.serialize = function () {
            return "{ rangePath: " + this.rangePath.serialize() + "}";
        };
        RangeVisualData.$t = igniteuiAngularCore.markType(RangeVisualData, 'RangeVisualData');
        return RangeVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var RangeVisualDataList = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(RangeVisualDataList, _super);
        function RangeVisualDataList() {
            return _super.call(this, RangeVisualData.$, 0) || this;
        }
        RangeVisualDataList.$t = igniteuiAngularCore.markType(RangeVisualDataList, 'RangeVisualDataList', igniteuiAngularCore.List$1.$.specialize(RangeVisualData.$));
        return RangeVisualDataList;
    }(igniteuiAngularCore.List$1));

    /*
    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.
    */
    /**
     * @hidden
     */
    var NeedleVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(NeedleVisualData, _super);
        function NeedleVisualData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._angle = 0;
            return _this;
        }
        Object.defineProperty(NeedleVisualData.prototype, "angle", {
            get: function () {
                return this._angle;
            },
            set: function (a) {
                this._angle = a;
            },
            enumerable: false,
            configurable: true
        });
        NeedleVisualData.prototype.serialize = function () {
            return "{ angle: " + this.angle.toString() + "}";
        };
        NeedleVisualData.$t = igniteuiAngularCore.markType(NeedleVisualData, 'NeedleVisualData');
        return NeedleVisualData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var XamRadialGauge = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamRadialGauge, _super);
        function XamRadialGauge() {
            var _this = _super.call(this) || this;
            _this.propertyChanged = null;
            _this.alignTitle = null;
            _this.alignSubtitle = null;
            _this.alignHighlightLabel = null;
            _this.formatTitle = null;
            _this.formatSubtitle = null;
            _this.formatHighlightLabel = null;
            _this._view = null;
            _this.bc = null;
            _this.c4 = 0;
            _this.c3 = 100;
            _this.bw = 0;
            _this.c2 = 0.5;
            _this.bt = 1;
            _this.bx = 0;
            _this.formatLabel = null;
            _this.am = null;
            _this.alignLabel = null;
            _this.valueChanged = null;
            _this.highlightValueChanged = null;
            _this.cb = false;
            _this.a9 = null;
            _this.mn = new igniteuiAngularCore.Size(1, NaN, NaN);
            _this.ml = null;
            _this.cw = null;
            _this.cx = null;
            _this.cu = null;
            _this.cv = null;
            _this.a4 = null;
            _this.a3 = null;
            _this.a2 = null;
            _this.cz = new igniteuiAngularCore.Stack$1(igniteuiAngularCore.TextBlock.$);
            _this.c0 = new igniteuiAngularCore.Stack$1(igniteuiAngularCore.TextBlock.$);
            _this.c1 = new igniteuiAngularCore.Stack$1(igniteuiAngularCore.TextBlock.$);
            _this.cy = new igniteuiAngularCore.Stack$1(igniteuiAngularCore.TextBlock.$);
            _this.ct = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.cs = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.cr = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.c7 = 0;
            _this.b3 = null;
            _this.b0 = null;
            _this.bz = null;
            _this.b2 = null;
            _this.b4 = null;
            _this.by = null;
            _this.b1 = null;
            _this.c6 = NaN;
            _this.c5 = 1;
            _this.em = 0;
            _this.ao = null;
            _this.ap = null;
            _this.an = null;
            _this.bj = XamRadialGauge.bm();
            _this.bk = XamRadialGauge.bn();
            _this.bl = XamRadialGauge.bo();
            _this.view = new XamRadialGaugeView(_this);
            _this.view.az();
            _this.ml = igniteuiAngularCore.Rect.empty;
            _this.a4 = new RadialGaugeFrame();
            _this.a3 = new RadialGaugeFrame();
            _this.a2 = new RadialGaugeFrame();
            _this.ranges = new RadialGaugeRangeCollection();
            _this.cb = true;
            _this.bc = new igniteuiAngularCore.DoubleAnimator(0, 1, _this.fg);
            var a = _this.bc;
            a.propertyChanged = igniteuiAngularCore.delegateCombine(a.propertyChanged, igniteuiAngularCore.runOn(_this, _this.il));
            _this.ab = XamRadialGauge.$;
            _this.bz = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.ar);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.as);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.at);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.bm);
                return $ret;
            })());
            _this.b4 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.ar);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.as);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bh);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.bo);
                return $ret;
            })());
            _this.b2 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.ar);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.as);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.bg);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.bn);
                return $ret;
            })());
            _this.by = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.TextBlock.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.ar);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.as);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.ap);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.bl);
                return $ret;
            })());
            _this.b3 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.a2);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.a3);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.a4);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.ce);
                return $ret;
            })());
            _this.b0 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.a2);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.a3);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.a4);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.ce);
                return $ret;
            })());
            _this.b1 = ((function () {
                var $ret = new igniteuiAngularCore.StackPool$1(igniteuiAngularCore.Path.$);
                $ret.b = igniteuiAngularCore.runOn(_this.view, _this.view.a7);
                $ret.c = igniteuiAngularCore.runOn(_this.view, _this.view.a8);
                $ret.d = igniteuiAngularCore.runOn(_this.view, _this.view.a9);
                $ret.j = igniteuiAngularCore.runOn(_this.view, _this.view.cf);
                return $ret;
            })());
            _this.a9 = new RadialGaugeScaler(_this.da, _this.c9, _this.ez, _this.eu, _this.mi);
            return _this;
        }
        XamRadialGauge.prototype.iz = function (a) {
            this.i5(a);
        };
        XamRadialGauge.prototype.i5 = function (a) {
            var b = this.propertyChanged;
            if (b != null) {
                b(this, new igniteuiAngularCore.PropertyChangedEventArgs(a));
            }
        };
        XamRadialGauge.bn = function () {
            if (XamRadialGauge.bh != null) {
                return XamRadialGauge.bh;
            }
            XamRadialGauge.bh = ((function () {
                var $ret = new igniteuiAngularCore.FontInfo();
                $ret.f = igniteuiAngularCore.FontDefaults.gaugesSubtitleSize;
                $ret.t = igniteuiAngularCore.FontDefaults.gaugesFontStyle;
                $ret.q = igniteuiAngularCore.FontDefaults.gaugesFontFamily;
                $ret.v = igniteuiAngularCore.FontDefaults.gaugesFontWeight;
                $ret.r = igniteuiAngularCore.FontDefaults.gaugesFontStretch;
                $ret.u = igniteuiAngularCore.FontDefaults.gaugesFontVariant;
                return $ret;
            })());
            return XamRadialGauge.bh;
        };
        XamRadialGauge.bo = function () {
            if (XamRadialGauge.bi != null) {
                return XamRadialGauge.bi;
            }
            XamRadialGauge.bi = ((function () {
                var $ret = new igniteuiAngularCore.FontInfo();
                $ret.f = igniteuiAngularCore.FontDefaults.gaugesTitleSize;
                $ret.t = igniteuiAngularCore.FontDefaults.gaugesFontStyle;
                $ret.q = igniteuiAngularCore.FontDefaults.gaugesFontFamily;
                $ret.v = igniteuiAngularCore.FontDefaults.gaugesFontWeight;
                $ret.r = igniteuiAngularCore.FontDefaults.gaugesFontStretch;
                $ret.u = igniteuiAngularCore.FontDefaults.gaugesFontVariant;
                return $ret;
            })());
            return XamRadialGauge.bi;
        };
        XamRadialGauge.bm = function () {
            if (XamRadialGauge.bg != null) {
                return XamRadialGauge.bg;
            }
            XamRadialGauge.bg = ((function () {
                var $ret = new igniteuiAngularCore.FontInfo();
                $ret.f = igniteuiAngularCore.FontDefaults.gaugesTitleSize;
                $ret.t = igniteuiAngularCore.FontDefaults.gaugesFontStyle;
                $ret.q = igniteuiAngularCore.FontDefaults.gaugesFontFamily;
                $ret.v = igniteuiAngularCore.FontDefaults.gaugesFontWeight;
                $ret.r = igniteuiAngularCore.FontDefaults.gaugesFontStretch;
                $ret.u = igniteuiAngularCore.FontDefaults.gaugesFontVariant;
                return $ret;
            })());
            return XamRadialGauge.bg;
        };
        XamRadialGauge.prototype.av = function (a, b, c, d, e, f) {
            var g = new FormatRadialGaugeLabelEventArgs();
            g.startAngle = this.a9.i;
            g.endAngle = this.a9.g;
            g.actualMinimumValue = this.da;
            g.actualMaximumValue = this.c9;
            g.angle = igniteuiAngularCore.MathUtil.p(b);
            g.value = a;
            var h = a;
            if (!d) {
                g.label = c;
            }
            else {
                if (e == null) {
                    h = Math.round(g.value * 100) / 100;
                }
                g.label = (h).toString();
                if (e != null) {
                    g.label = e.i(h);
                }
            }
            if (f != null) {
                f(this, g);
            }
            return g;
        };
        XamRadialGauge.prototype.aq = function (a, b, c, d, e, f) {
            var g = c.h(this.em);
            var h = new AlignRadialGaugeLabelEventArgs();
            h.startAngle = this.a9.i;
            h.endAngle = this.a9.g;
            h.actualMinimumValue = this.da;
            h.actualMaximumValue = this.c9;
            h.angle = d.angle;
            h.value = d.value;
            h.label = d.label;
            h.extent = a;
            h.brush = b;
            h.font = g;
            var i = c.b(h.font);
            var j = f(((function () {
                var $ret = new igniteuiAngularCore.TextBlock();
                $ret.al = h.label;
                return $ret;
            })()), i);
            h.width = j.width;
            h.height = j.height;
            h.offsetX = -1 * (j.width / 2);
            h.offsetY = -1 * (j.height / 2);
            var k = h.offsetX;
            var l = h.offsetY;
            if (e != null) {
                e(this, h);
                if (h.font != g) {
                    h.font *= this.em;
                    i = i.b(h.font);
                    j = f(((function () {
                        var $ret = new igniteuiAngularCore.TextBlock();
                        $ret.al = h.label;
                        return $ret;
                    })()), i);
                    h.width = j.width;
                    h.height = j.height;
                    h.offsetX = -1 * (j.width / 2) + (h.offsetX - k);
                    h.offsetY = -1 * (j.height / 2) + (h.offsetY - l);
                }
            }
            return h;
        };
        XamRadialGauge.prototype.onDetachedFromUI = function () {
            this.view.ay();
        };
        XamRadialGauge.prototype.onAttachedToUI = function () {
            this.view.au();
        };
        XamRadialGauge.prototype.e2 = function (a) {
            return this.a9.h(a);
        };
        XamRadialGauge.prototype.fe = function (a) {
            return this.a9.j(a);
        };
        XamRadialGauge.prototype.dn = function (a) {
            var b = this.mm;
            var c = Math.min(b.width / 2, b.height / 2) * this.ep;
            var d = this.mj();
            var e = d.x;
            var f = d.y;
            var g = igniteuiAngularCore.GeometryUtil.g({ $type: igniteuiAngularCore.Point_$type, x: e, y: f }, a);
            if (this.a9 != null && g < this.a9.i) {
                g += Math.PI * 2;
            }
            if (this.a9 != null && g > this.a9.g) {
                g -= Math.PI * 2;
            }
            var h = this.fe(g);
            return h;
        };
        XamRadialGauge.prototype.mk = function (a, b) {
            var c = this.e2(a);
            var d = Math.min(this.mm.width / 2, this.mm.height / 2) * this.ep * b;
            var e = this.mj();
            var f = e.x + Math.cos(c) * d;
            var g = e.y + Math.sin(c) * d;
            return { $type: igniteuiAngularCore.Point_$type, x: f, y: g };
        };
        XamRadialGauge.prototype.l7 = function (a, b) {
            if (b != null && b.count > 0) {
                return b.item(a % b.count);
            }
            else {
                return null;
            }
        };
        Object.defineProperty(XamRadialGauge.prototype, "view", {
            get: function () {
                return this._view;
            },
            set: function (a) {
                this._view = a;
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.il = function (a, b) {
            this.fd = this.bc.o;
        };
        Object.defineProperty(XamRadialGauge.prototype, "da", {
            get: function () {
                return this.c4;
            },
            set: function (a) {
                this.c4 = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "c9", {
            get: function () {
                return this.c3;
            },
            set: function (a) {
                this.c3 = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "c8", {
            get: function () {
                return this.c2;
            },
            set: function (a) {
                var b = this.c2;
                this.c2 = a;
                if (b != this.c2) {
                    this.iy("ActualHighlightValueOpacity", b, a);
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "ds", {
            get: function () {
                return this.c(XamRadialGauge.j3);
            },
            set: function (a) {
                this.h(XamRadialGauge.j3, a);
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.jg = function () {
            this.c8 = igniteuiAngularCore.isNaN_(this.ds) ? 0.5 : Math.max(0, Math.min(this.ds, 1));
        };
        Object.defineProperty(XamRadialGauge.prototype, "bu", {
            get: function () {
                return this.bt;
            },
            set: function (a) {
                this.bt = a;
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.jf = function () {
            if (this.bv != 1) {
                if (igniteuiAngularCore.isNaN_(this.dr) || igniteuiAngularCore.isInfinity(this.dr)) {
                    this.bu = 1;
                }
                else {
                    this.bu = 2;
                }
            }
            else {
                this.bu = 1;
            }
        };
        XamRadialGauge.prototype.is = function () {
            this.bw = 0;
            this.view.b9().an = null;
        };
        Object.defineProperty(XamRadialGauge.prototype, "ej", {
            get: function () {
                return this.c(XamRadialGauge.k1);
            },
            set: function (a) {
                this.h(XamRadialGauge.k1, a);
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.refresh = function () {
            this.cb = true;
            this.view.bb();
        };
        XamRadialGauge.prototype.iy = function (a, b, c) {
            switch (a) {
                case XamRadialGauge.$$p[41]:
                case XamRadialGauge.$$p[44]:
                case XamRadialGauge.$$p[45]:
                case XamRadialGauge.$$p[47]:
                case XamRadialGauge.$$p[0]:
                case XamRadialGauge.$$p[4]:
                case XamRadialGauge.$$p[62]:
                case XamRadialGauge.$$p[78]:
                case XamRadialGauge.$$p[34]:
                case XamRadialGauge.$$p[83]:
                case XamRadialGauge.$$p[71]:
                    this.view.av(a, b, c);
                    break;
                case XamRadialGauge.$$p[59]:
                    this.view.a0(b, c);
                    break;
                case XamRadialGauge.$$p[60]:
                    this.view.a1(b, c);
                    break;
                case "PixelScalingRatio":
                    if (igniteuiAngularCore.isNaN_(igniteuiAngularCore.DeviceUtils.a(this.eo))) {
                        this.db = 1;
                    }
                    else {
                        this.db = igniteuiAngularCore.DeviceUtils.a(this.eo);
                    }
                    break;
                case "ActualPixelScalingRatio":
                    this.view.a5();
                    break;
            }
            switch (a) {
                case XamRadialGauge.$$p[29]:
                case XamRadialGauge.$$p[30]:
                    if (this.gi != null) {
                        this.am = new igniteuiAngularCore.BindingFormatter();
                        this.am.j = this.gi;
                        this.am.d = this.ah;
                    }
                    else {
                        this.am = null;
                    }
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[74]:
                case XamRadialGauge.$$p[75]:
                    if (this.hu != null) {
                        this.ao = new igniteuiAngularCore.BindingFormatter();
                        this.ao.j = this.hu;
                        this.ao.d = this.ai;
                    }
                    else {
                        this.ao = null;
                    }
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[86]:
                case XamRadialGauge.$$p[87]:
                    if (this.h9 != null) {
                        this.ap = new igniteuiAngularCore.BindingFormatter();
                        this.ap.j = this.h9;
                        this.ap.d = this.aj;
                    }
                    else {
                        this.ap = null;
                    }
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[17]:
                case XamRadialGauge.$$p[18]:
                    if (this.f2 != null) {
                        this.an = new igniteuiAngularCore.BindingFormatter();
                        this.an.j = this.f2;
                        this.an.d = this.ag;
                    }
                    else {
                        this.an = null;
                    }
                    this.cb = true;
                    this.view.bb();
                    break;
                case "SubtitleTextStyle":
                    this.cb = true;
                    this.view.bb();
                    break;
                case "TitleTextStyle":
                    this.cb = true;
                    this.view.bb();
                    break;
                case "HighlightLabelTextStyle":
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[92]:
                    if (this.valueChanged != null) {
                        this.valueChanged(this, new igniteuiAngularCore.DoubleValueChangedEventArgs(b, c));
                    }
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[22]:
                    {
                        if (this.highlightValueChanged != null) {
                            this.highlightValueChanged(this, new igniteuiAngularCore.DoubleValueChangedEventArgs(b, c));
                        }
                        var d = this.bu == 2;
                        this.jf();
                        var e = this.bu == 2;
                        this.cb = true;
                        if (!d && e) {
                            this.bw = 1;
                        }
                        else if (d && !e) {
                            this.bw = 4;
                        }
                        this.view.bb();
                        break;
                    }
                case XamRadialGauge.$$p[21]:
                    {
                        var f = this.bu == 2;
                        this.jf();
                        var g = this.bu == 2;
                        this.cb = true;
                        if (!f && g) {
                            this.bw = 1;
                        }
                        else if (f && !g) {
                            this.bw = 4;
                        }
                        this.view.bb();
                        break;
                    }
                case "HighlighValueOpacity":
                    this.jg();
                    break;
                case "ActualHighlightValueOpacity":
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[0]:
                case XamRadialGauge.$$p[4]:
                case XamRadialGauge.$$p[7]:
                case XamRadialGauge.$$p[6]:
                case XamRadialGauge.$$p[2]:
                case XamRadialGauge.$$p[3]:
                case XamRadialGauge.$$p[5]:
                case XamRadialGauge.$$p[1]:
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[69]:
                case XamRadialGauge.$$p[67]:
                case XamRadialGauge.$$p[63]:
                case XamRadialGauge.$$p[65]:
                case XamRadialGauge.$$p[66]:
                    this.a9 = new RadialGaugeScaler(this.da, this.c9, this.ez, this.eu, this.mi);
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[33]:
                case XamRadialGauge.$$p[32]:
                    var h = this.dz;
                    var i = this.dx;
                    if (igniteuiAngularCore.isInfinity(h) || igniteuiAngularCore.isNaN_(h)) {
                        h = 0;
                    }
                    if (igniteuiAngularCore.isInfinity(i) || igniteuiAngularCore.isNaN_(i)) {
                        i = 100;
                    }
                    this.da = Math.min(h, i);
                    this.c9 = Math.max(h, i);
                    this.a9 = new RadialGaugeScaler(this.da, this.c9, this.ez, this.eu, this.mi);
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[23]:
                case XamRadialGauge.$$p[68]:
                case XamRadialGauge.$$p[64]:
                case XamRadialGauge.$$p[28]:
                case XamRadialGauge.$$p[80]:
                case XamRadialGauge.$$p[79]:
                case XamRadialGauge.$$p[78]:
                case XamRadialGauge.$$p[62]:
                case XamRadialGauge.$$p[31]:
                case XamRadialGauge.$$p[35]:
                case XamRadialGauge.$$p[81]:
                case XamRadialGauge.$$p[38]:
                case XamRadialGauge.$$p[34]:
                case XamRadialGauge.$$p[37]:
                case XamRadialGauge.$$p[36]:
                case XamRadialGauge.$$p[8]:
                case XamRadialGauge.$$p[9]:
                case XamRadialGauge.$$p[58]:
                case XamRadialGauge.$$p[10]:
                    this.a9 = new RadialGaugeScaler(this.da, this.c9, this.ez, this.eu, this.mi);
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[82]:
                case XamRadialGauge.$$p[70]:
                case XamRadialGauge.$$p[13]:
                case XamRadialGauge.$$p[85]:
                case XamRadialGauge.$$p[73]:
                case XamRadialGauge.$$p[16]:
                case XamRadialGauge.$$p[83]:
                case XamRadialGauge.$$p[71]:
                case XamRadialGauge.$$p[14]:
                case XamRadialGauge.$$p[84]:
                case XamRadialGauge.$$p[72]:
                case XamRadialGauge.$$p[15]:
                case XamRadialGauge.$$p[88]:
                case XamRadialGauge.$$p[76]:
                case XamRadialGauge.$$p[19]:
                case XamRadialGauge.$$p[57]:
                case XamRadialGauge.$$p[56]:
                case XamRadialGauge.$$p[54]:
                case XamRadialGauge.$$p[42]:
                case XamRadialGauge.$$p[41]:
                case XamRadialGauge.$$p[44]:
                case "NeedleStartWidth":
                case XamRadialGauge.$$p[43]:
                case XamRadialGauge.$$p[45]:
                case XamRadialGauge.$$p[47]:
                case XamRadialGauge.$$p[55]:
                case XamRadialGauge.$$p[49]:
                case XamRadialGauge.$$p[39]:
                case XamRadialGauge.$$p[40]:
                case XamRadialGauge.$$p[51]:
                case XamRadialGauge.$$p[52]:
                case XamRadialGauge.$$p[50]:
                case XamRadialGauge.$$p[46]:
                case XamRadialGauge.$$p[48]:
                case XamRadialGauge.$$p[53]:
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[90]:
                    this.bc.r = this.fg;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[91]:
                    this.bc.b = this.bf;
                    break;
                case "TransitionProgress":
                    if (this.fd >= 1) {
                        this.bc.w();
                        var j = this.a3;
                        this.a3 = this.a4;
                        this.a4 = j;
                        this.i1();
                        this.i2();
                        this.i4();
                        this.ja(this.a3);
                        this.jb(this.a3, this.a3.b, true);
                        this.jb(this.a3, this.a3.c, false);
                        this.jc(this.a3);
                        if (this.bw == 5) {
                            this.is();
                        }
                        else if (this.bw == 2) {
                            this.bw = 3;
                        }
                        this.view.ah();
                        return;
                    }
                    this.a2.f(this.fd, this.a4, this.a3);
                    this.ja(this.a2);
                    this.jb(this.a2, this.a2.b, true);
                    this.jb(this.a2, this.a2.c, false);
                    this.jc(this.a2);
                    this.view.ah();
                    break;
                case XamRadialGauge.$$p[61]:
                    var k = b;
                    var l = c;
                    if (k != null) {
                        var m = k;
                        m.collectionChanged = igniteuiAngularCore.delegateRemove(m.collectionChanged, igniteuiAngularCore.runOn(this, this.i8));
                    }
                    if (l != null) {
                        var n = l;
                        n.collectionChanged = igniteuiAngularCore.delegateCombine(n.collectionChanged, igniteuiAngularCore.runOn(this, this.i8));
                    }
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[60]:
                case XamRadialGauge.$$p[59]:
                    this.cb = true;
                    this.view.bb();
                    break;
                case XamRadialGauge.$$p[11]:
                case XamRadialGauge.$$p[12]:
                    this.cb = true;
                    this.view.bk();
                    this.view.bb();
                    break;
            }
            this.iz(a);
        };
        XamRadialGauge.prototype.je = function () {
            this.view.bf();
        };
        XamRadialGauge.prototype.i8 = function (a, b) {
            var e_1, _a, e_2, _b;
            if (b.oldItems != null) {
                try {
                    for (var _c = tslib.__values(igniteuiAngularCore.fromEn(b.oldItems)), _d = _c.next(); !_d.done; _d = _c.next()) {
                        var c = _d.value;
                        c.propertyChanged = igniteuiAngularCore.delegateRemove(c.propertyChanged, igniteuiAngularCore.runOn(this, this.i7));
                    }
                }
                catch (e_1_1) {
                    e_1 = { error: e_1_1 };
                }
                finally {
                    try {
                        if (_d && !_d.done && (_a = _c.return))
                            _a.call(_c);
                    }
                    finally {
                        if (e_1)
                            throw e_1.error;
                    }
                }
            }
            if (b.newItems != null) {
                try {
                    for (var _e = tslib.__values(igniteuiAngularCore.fromEn(b.newItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
                        var d = _f.value;
                        d.propertyChanged = igniteuiAngularCore.delegateCombine(d.propertyChanged, igniteuiAngularCore.runOn(this, this.i7));
                    }
                }
                catch (e_2_1) {
                    e_2 = { error: e_2_1 };
                }
                finally {
                    try {
                        if (_f && !_f.done && (_b = _e.return))
                            _b.call(_e);
                    }
                    finally {
                        if (e_2)
                            throw e_2.error;
                    }
                }
            }
            this.cb = true;
            this.view.bb();
        };
        XamRadialGauge.prototype.i7 = function (a, b) {
            this.cb = true;
            this.view.bb();
        };
        Object.defineProperty(XamRadialGauge.prototype, "mm", {
            get: function () {
                return this.ml;
            },
            set: function (a) {
                var b = this.ml;
                this.ml = a;
                if (!b.equals1(this.ml)) {
                    this.i0(b, this.ml);
                }
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.i0 = function (a, b) {
            this.cb = true;
            this.view.bb();
        };
        XamRadialGauge.prototype.cg = function () {
            return !igniteuiAngularCore.isNaN_(this.da) && !igniteuiAngularCore.isNaN_(this.c9) && !igniteuiAngularCore.isNaN_(this.ff) && !this.mm.isEmpty && this.view.n();
        };
        XamRadialGauge.prototype.im = function () {
            if (!this.cg()) {
                return;
            }
            if (this.cb) {
                if (this.b5) {
                    if (this.bc.g) {
                        this.bc.t();
                    }
                    var a = this.a4;
                    this.a4 = this.a2;
                    this.a2 = a;
                }
                else {
                    var b = this.a4;
                    this.a4 = this.a3;
                    this.a3 = b;
                }
            }
            else if (this.b5) {
                this.a2.f(this.fd, this.a4, this.a3);
                this.ja(this.a2);
                this.jb(this.a2, this.a2.b, true);
                this.jb(this.a2, this.a2.c, false);
                this.jc(this.a2);
            }
            if (this.cb) {
                if (this.bw == 1) {
                    this.bw = 2;
                    var c = this.et(this.ff, 0);
                    this.i3(c, this.a4.b, false);
                }
                else if (this.bw == 4) {
                    if (this.fg > 0) {
                        this.bw = 5;
                        var d = this.et(this.ff, 0);
                        this.i3(d, this.a3.b, false);
                    }
                    else {
                        this.is();
                    }
                }
                this.i2();
                this.i4();
                this.i1();
            }
            if (this.cb && this.cl) {
                this.jd();
                this.a2.f(this.fd, this.a4, this.a3);
                this.ja(this.a2);
                this.jb(this.a2, this.a2.b, true);
                this.jb(this.a2, this.a2.c, false);
                this.jc(this.a2);
            }
            else {
                if (this.cb) {
                    this.ja(this.a3);
                    this.jb(this.a3, this.a3.b, true);
                    this.jb(this.a3, this.a3.c, false);
                    this.jc(this.a3);
                }
            }
            this.cb = false;
            this.view.ah();
        };
        XamRadialGauge.prototype.jd = function () {
            this.c7 = 0;
            this.bc.w();
            this.bc.v();
        };
        Object.defineProperty(XamRadialGauge.prototype, "cl", {
            get: function () {
                return this.fg > 0;
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.ja = function (a) {
            var b = this.mm;
            var c = this.view.b8();
            var d = a.a;
            var e = Math.min(b.width / 2, b.height / 2) * a.e;
            var f = this.mj();
            var g = f.x;
            var h = f.y;
            var i = d.n(e, g, h);
            c.an = i;
            c._fill = d.l;
            c._stroke = d.m;
            c.ad = d.h;
        };
        XamRadialGauge.prototype.ch = function (a) {
            return this.cj(a, false, false);
        };
        XamRadialGauge.prototype.needleContainsPoint = function (a, b) {
            return this.cj(a, b, false);
        };
        XamRadialGauge.prototype.b9 = function (a) {
            return this.cj(a, false, true);
        };
        XamRadialGauge.prototype.highlightNeedleContainsPoint = function (a, b) {
            return this.cj(a, b, true);
        };
        XamRadialGauge.prototype.cj = function (a, b, c) {
            var d;
            var e;
            if (c) {
                d = this.cu;
                e = this.cv;
            }
            else {
                d = this.cw;
                e = this.cx;
            }
            if (d == null) {
                return false;
            }
            return b ? igniteuiAngularCore.PolygonUtil.b(e, a) : igniteuiAngularCore.PolygonUtil.b(d, a);
        };
        XamRadialGauge.prototype.jb = function (a, b, c) {
            if (c) {
                if (this.bw == 0) {
                    return;
                }
                this.cu = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
                this.cv = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
            }
            else {
                this.cw = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
                this.cx = new igniteuiAngularCore.List$1(igniteuiAngularCore.Point_$type, 0);
            }
            var d = c ? this.cu : this.cw;
            var e = c ? this.cv : this.cx;
            var f = this.mm;
            var g = b.ab;
            var h = b.aj;
            var i = b.ak;
            var j = b.ae;
            var k = b.ah;
            var l = b.ai;
            var m = b.aa;
            var n = c ? this.view.b9() : this.view.ca();
            var o = this.view.cd();
            var p = this.view.cb();
            var q = Math.min(f.width / 2, f.height / 2) * a.e;
            var r = this.mj();
            var s = r.x;
            var t = r.y;
            var u = b.am(q, s, t);
            var v = g * 180 / Math.PI;
            n.an = u;
            var w = new igniteuiAngularCore.TransformGroup();
            w.j.add(((function () {
                var $ret = new igniteuiAngularCore.RotateTransform();
                $ret.k = s;
                $ret.l = t;
                $ret.j = v;
                return $ret;
            })()));
            n.j = w;
            n._fill = h;
            n._stroke = i;
            n.ad = j;
            o.an = b.an(q, s, t);
            p.an = b.al(q, s, t);
            o._fill = k;
            o._stroke = l;
            o.ad = m;
            p._fill = k;
            p._stroke = l;
            p.ad = m;
            var x = Math.cos(g);
            var y = Math.sin(g);
            var z = b.af / 2;
            var aa = { $type: igniteuiAngularCore.Point_$type, x: b.ad * q, y: z * q };
            var ab = { $type: igniteuiAngularCore.Point_$type, x: b.ac * q, y: z * q };
            var ac = { $type: igniteuiAngularCore.Point_$type, x: b.ac * q, y: -z * q };
            var ad = { $type: igniteuiAngularCore.Point_$type, x: b.ad * q, y: -z * q };
            aa = { $type: igniteuiAngularCore.Point_$type, x: aa.x * x - aa.y * y + s, y: aa.y * x + aa.x * y + t };
            ab = { $type: igniteuiAngularCore.Point_$type, x: ab.x * x - ab.y * y + s, y: ab.y * x + ab.x * y + t };
            ac = { $type: igniteuiAngularCore.Point_$type, x: ac.x * x - ac.y * y + s, y: ac.y * x + ac.x * y + t };
            ad = { $type: igniteuiAngularCore.Point_$type, x: ad.x * x - ad.y * y + s, y: ad.y * x + ad.x * y + t };
            d.add(aa);
            d.add(ab);
            d.add(ac);
            d.add(ad);
            z = (b.af / 2) * q;
            var ae = { $type: igniteuiAngularCore.Point_$type, x: b.ad * q, y: z };
            var af = { $type: igniteuiAngularCore.Point_$type, x: b.ac * q, y: z };
            var ag = { $type: igniteuiAngularCore.Point_$type, x: b.ac * q, y: -z };
            var ah = { $type: igniteuiAngularCore.Point_$type, x: b.ad * q, y: -z };
            ae = { $type: igniteuiAngularCore.Point_$type, x: ae.x * x - ae.y * y + s, y: ae.y * x + ae.x * y + t };
            af = { $type: igniteuiAngularCore.Point_$type, x: af.x * x - af.y * y + s, y: af.y * x + af.x * y + t };
            ag = { $type: igniteuiAngularCore.Point_$type, x: ag.x * x - ag.y * y + s, y: ag.y * x + ag.x * y + t };
            ah = { $type: igniteuiAngularCore.Point_$type, x: ah.x * x - ah.y * y + s, y: ah.y * x + ah.x * y + t };
            e.add(ae);
            e.add(af);
            e.add(ag);
            e.add(ah);
        };
        XamRadialGauge.prototype.mj = function () {
            var a = this.mm;
            var b = igniteuiAngularCore.isNaN_(this.dl) ? 0.5 : this.dl;
            var c = igniteuiAngularCore.isNaN_(this.dm) ? 0.5 : this.dm;
            var d = a.left + b * a.width;
            var e = a.top + c * a.height;
            return { $type: igniteuiAngularCore.Point_$type, x: d, y: e };
        };
        XamRadialGauge.prototype.er = function (a) {
            if (igniteuiAngularCore.isInfinity(a)) {
                return NaN;
            }
            return a;
        };
        XamRadialGauge.prototype.i2 = function () {
            var a = this.a3;
            a.e = this.ep;
            var b = this.mm;
            var c = !(this.bw == 0 || this.bw == 5);
            var d = this.et(this.ff, 0);
            this.i3(d, a.c, c);
            if (c) {
                var e = this.er(this.dr);
                this.i3(e, a.b, false);
            }
        };
        XamRadialGauge.prototype.i3 = function (a, b, c) {
            var d = this.a9;
            var e = d.h(a);
            var f = new RadialGaugeNeedlePreparer();
            var g = new RadialGaugeNeedleParameters();
            g.b = this.a5;
            g.o = this.er(this.ek);
            var h = this.ma;
            var i = this.mb;
            if (c) {
                h = igniteuiAngularCore.BrushUtil.s(h, this.c8);
                i = igniteuiAngularCore.BrushUtil.s(i, this.c8);
            }
            g.t = h;
            g.u = i;
            g.m = this.er(this.ei);
            g.k = this.er(this.ea);
            g.d = this.er(this.d8);
            g.e = this.er(this.d9);
            g.p = this.er(this.eg);
            g.q = this.er(this.eh);
            g.i = this.er(this.ef);
            g.f = this.er(this.ec);
            g.r = this.mc;
            g.s = this.md;
            g.c = this.a6;
            g.h = this.er(this.ed);
            g.n = this.er(this.ej);
            g.l = this.er(this.eb);
            if (igniteuiAngularCore.isNaN_(g.o)) {
                g.o = XamRadialGauge.el;
            }
            if (igniteuiAngularCore.isNaN_(g.h)) {
                g.h = XamRadialGauge.ee;
            }
            f.b = g;
            f.e(b);
            b.ab = e;
        };
        XamRadialGauge.prototype.jc = function (a) {
            var e_3, _a, e_4, _b, e_5, _c, e_6, _d;
            var b = this.mm;
            var c = a.d;
            var d = c.g;
            var e = c.c;
            var f = c.i;
            var g = c.j;
            var h = c.h;
            var i = c.f;
            var j = c.t;
            var k = c.e;
            var l = c.d;
            var m = c.ab;
            var n = c.y;
            var o = c.l;
            var p = c.k;
            var q = c.ad;
            var r = c.ac;
            var s = c.aa;
            var t = c.x;
            var u = c.aj;
            var v = c.ak;
            var w = c.ae;
            var x = c.ai;
            var y = c.v;
            var z = c.u;
            var aa = c.w;
            var ab = this.view.cc();
            var ac = c.z;
            m = Math.max(0, m);
            n = Math.max(0, n);
            var ad = true;
            if (this.a8 == 1 || (this.a8 == 0 && this.a0 == 0)) {
                ad = false;
            }
            var ae = Math.min(b.width / 2, b.height / 2) * a.e;
            var af = this.mj();
            var ag = af.x;
            var ah = af.y;
            var ai = s;
            var aj = t;
            s -= ac;
            t += ac;
            var ak = false;
            if ((t - s) >= 2 * Math.PI) {
                ak = true;
                s = 0;
                t = Math.PI;
            }
            var al = new igniteuiAngularCore.PathGeometry();
            var am = new igniteuiAngularCore.PathFigure();
            var an = Math.cos(s);
            var ao = Math.sin(s);
            var ap = Math.cos(t);
            var aq = Math.sin(t);
            var ar = ag + (ae * m) * an;
            var as = ah + (ae * m) * ao;
            var at = ag + (ae * n) * an;
            var au = ah + (ae * n) * ao;
            var av = ag + (ae * m) * ap;
            var aw = ah + (ae * m) * aq;
            var ax = ag + (ae * n) * ap;
            var ay = ah + (ae * n) * aq;
            var az = ak;
            if (ac != 0 && !ak && ad) {
                var a0 = Math.cos(ai);
                var a1 = Math.sin(ai);
                var a2 = Math.cos(aj);
                var a3 = Math.sin(aj);
                var a4 = ag + (ae * m) * a0;
                var a5 = ah + (ae * m) * a1;
                var a6 = ag + (ae * n) * a0;
                var a7 = ah + (ae * n) * a1;
                var a8 = ag + (ae * m) * a2;
                var a9 = ah + (ae * m) * a3;
                var ba = ag + (ae * n) * a2;
                var bb = ah + (ae * n) * a3;
                var bc = as;
                var bd = at;
                if (a6 - a4 != 0) {
                    bd = ag;
                    var be = (a7 - a5) / (a6 - a4);
                    bc = be * (ag - at) + au;
                }
                var bf = { $type: igniteuiAngularCore.Point_$type, x: bd, y: bc };
                var bg = igniteuiAngularCore.GeometryUtil.o(bf, { $type: igniteuiAngularCore.Point_$type, x: at, y: au }, { $type: igniteuiAngularCore.Point_$type, x: ag, y: ah }, ae * m);
                var bh = aw;
                var bi = ax;
                if (ba - a8 != 0) {
                    bi = ag;
                    var bj = (bb - a9) / (ba - a8);
                    bh = bj * (ag - ax) + ay;
                }
                var bk = { $type: igniteuiAngularCore.Point_$type, x: bi, y: bh };
                var bl = igniteuiAngularCore.GeometryUtil.o(bk, { $type: igniteuiAngularCore.Point_$type, x: ax, y: ay }, { $type: igniteuiAngularCore.Point_$type, x: ag, y: ah }, ae * m);
                if (igniteuiAngularCore.isNaN_(bg.c.x) || igniteuiAngularCore.isNaN_(bg.c.y) || igniteuiAngularCore.isNaN_(bg.d.x) || igniteuiAngularCore.isNaN_(bg.d.y) || igniteuiAngularCore.isNaN_(bl.c.x) || igniteuiAngularCore.isNaN_(bl.c.y) || igniteuiAngularCore.isNaN_(bl.d.x) || igniteuiAngularCore.isNaN_(bl.d.y)) {
                    ak = true;
                    s = 0;
                    t = Math.PI;
                }
                else {
                    var bm = void 0;
                    var bn = void 0;
                    if ((Math.pow(bg.c.x - at, 2) + Math.pow(bg.c.y - au, 2)) < (Math.pow(bg.d.x - at, 2) + Math.pow(bg.d.y - au, 2))) {
                        bm = bg.c;
                    }
                    else {
                        bm = bg.d;
                    }
                    if ((Math.pow(bl.c.x - ax, 2) + Math.pow(bl.c.y - ay, 2)) < (Math.pow(bl.d.x - ax, 2) + Math.pow(bl.d.y - ay, 2))) {
                        bn = bl.c;
                    }
                    else {
                        bn = bl.d;
                    }
                    if ((Math.pow(bn.x - at, 2) + Math.pow(bn.y - au, 2)) <= (Math.pow(bm.x - at, 2) + Math.pow(bm.y - au, 2))) {
                        ak = true;
                        s = 0;
                        t = Math.PI;
                    }
                    else {
                        var bo = igniteuiAngularCore.GeometryUtil.g({ $type: igniteuiAngularCore.Point_$type, x: ag, y: ah }, bm);
                        var bp = igniteuiAngularCore.GeometryUtil.g({ $type: igniteuiAngularCore.Point_$type, x: ag, y: ah }, bn);
                        var bq = s;
                        var br = t;
                        while (bq > Math.PI * 2) {
                            bq -= Math.PI * 2;
                        }
                        while (br > Math.PI * 2) {
                            br -= Math.PI * 2;
                        }
                        var bs = Math.min(Math.abs(bo - bq), Math.abs((Math.PI * 2 - bo) - bq));
                        var bt = Math.min(Math.abs(bp - br), Math.abs((Math.PI * 2 - bp) - br));
                        if ((t - s) + bs + bt >= 2 * Math.PI) {
                            ak = true;
                            s = 0;
                            t = Math.PI;
                        }
                        else {
                            ar = bm.x;
                            as = bm.y;
                            av = bn.x;
                            aw = bn.y;
                        }
                    }
                }
            }
            if (ak && !az) {
                an = Math.cos(s);
                ao = Math.sin(s);
                ap = Math.cos(t);
                aq = Math.sin(t);
                ar = ag + (ae * m) * an;
                as = ah + (ae * m) * ao;
                at = ag + (ae * n) * an;
                au = ah + (ae * n) * ao;
                av = ag + (ae * m) * ap;
                aw = ah + (ae * m) * aq;
                ax = ag + (ae * n) * ap;
                ay = ah + (ae * n) * aq;
            }
            if (ak) {
                am._startPoint = { $type: igniteuiAngularCore.Point_$type, x: at, y: au };
                am._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.ArcSegment();
                    $ret.e = { $type: igniteuiAngularCore.Point_$type, x: ax, y: ay };
                    $ret.b = false;
                    $ret.d = 1;
                    $ret.f = new igniteuiAngularCore.Size(1, ae * n, ae * n);
                    return $ret;
                })()));
                am._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.ArcSegment();
                    $ret.e = { $type: igniteuiAngularCore.Point_$type, x: at, y: au };
                    $ret.b = false;
                    $ret.d = 1;
                    $ret.f = new igniteuiAngularCore.Size(1, ae * n, ae * n);
                    return $ret;
                })()));
                var bu = new igniteuiAngularCore.PathFigure();
                bu._startPoint = { $type: igniteuiAngularCore.Point_$type, x: ar, y: as };
                bu._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.ArcSegment();
                    $ret.e = { $type: igniteuiAngularCore.Point_$type, x: av, y: aw };
                    $ret.b = false;
                    $ret.d = 0;
                    $ret.f = new igniteuiAngularCore.Size(1, ae * m, ae * m);
                    return $ret;
                })()));
                bu._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.ArcSegment();
                    $ret.e = { $type: igniteuiAngularCore.Point_$type, x: ar, y: as };
                    $ret.b = false;
                    $ret.d = 0;
                    $ret.f = new igniteuiAngularCore.Size(1, ae * m, ae * m);
                    return $ret;
                })()));
                al.c.add(am);
                al.c.add(bu);
            }
            else {
                am._startPoint = { $type: igniteuiAngularCore.Point_$type, x: ar, y: as };
                am._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: at, y: au };
                    return $ret;
                })()));
                am._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.ArcSegment();
                    $ret.e = { $type: igniteuiAngularCore.Point_$type, x: ax, y: ay };
                    $ret.b = (t - s) > Math.PI;
                    $ret.d = 1;
                    $ret.f = new igniteuiAngularCore.Size(1, ae * n, ae * n);
                    return $ret;
                })()));
                am._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: av, y: aw };
                    return $ret;
                })()));
                am._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.ArcSegment();
                    $ret.e = { $type: igniteuiAngularCore.Point_$type, x: ar, y: as };
                    $ret.b = (t - s) > Math.PI;
                    $ret.d = 0;
                    $ret.f = new igniteuiAngularCore.Size(1, ae * m, ae * m);
                    return $ret;
                })()));
                al.c.add(am);
            }
            ab.an = al;
            ab._fill = u;
            var bv = this.bz;
            bv.f = true;
            try {
                for (var _e = tslib.__values(igniteuiAngularCore.fromEnum(this.cz)), _f = _e.next(); !_f.done; _f = _e.next()) {
                    var bw = _f.value;
                    bv.n(bw);
                }
            }
            catch (e_3_1) {
                e_3 = { error: e_3_1 };
            }
            finally {
                try {
                    if (_f && !_f.done && (_a = _e.return))
                        _a.call(_e);
                }
                finally {
                    if (e_3)
                        throw e_3.error;
                }
            }
            this.cz.g();
            var bx = this.b2;
            bx.f = true;
            try {
                for (var _g = tslib.__values(igniteuiAngularCore.fromEnum(this.c0)), _h = _g.next(); !_h.done; _h = _g.next()) {
                    var by = _h.value;
                    bx.n(by);
                }
            }
            catch (e_4_1) {
                e_4 = { error: e_4_1 };
            }
            finally {
                try {
                    if (_h && !_h.done && (_b = _g.return))
                        _b.call(_g);
                }
                finally {
                    if (e_4)
                        throw e_4.error;
                }
            }
            this.c0.g();
            var bz = this.b4;
            bz.f = true;
            try {
                for (var _j = tslib.__values(igniteuiAngularCore.fromEnum(this.c1)), _k = _j.next(); !_k.done; _k = _j.next()) {
                    var b0 = _k.value;
                    bz.n(b0);
                }
            }
            catch (e_5_1) {
                e_5 = { error: e_5_1 };
            }
            finally {
                try {
                    if (_k && !_k.done && (_c = _j.return))
                        _c.call(_j);
                }
                finally {
                    if (e_5)
                        throw e_5.error;
                }
            }
            this.c1.g();
            var b1 = this.by;
            b1.f = true;
            try {
                for (var _l = tslib.__values(igniteuiAngularCore.fromEnum(this.cy)), _m = _l.next(); !_m.done; _m = _l.next()) {
                    var b2 = _m.value;
                    b1.n(b2);
                }
            }
            catch (e_6_1) {
                e_6 = { error: e_6_1 };
            }
            finally {
                try {
                    if (_m && !_m.done && (_d = _l.return))
                        _d.call(_l);
                }
                finally {
                    if (e_6)
                        throw e_6.error;
                }
            }
            this.cy.g();
            var b3 = ae * j;
            for (var b4 = 0; b4 < e.length; b4++) {
                var b5 = ag + b3 * Math.cos(e[b4]);
                var b6 = ah + b3 * Math.sin(e[b4]);
                var b7 = bv.a();
                if (b7.al != d[b4]) {
                    b7.al = d[b4];
                }
                this.view.bd(b7, l[b4]);
                this.view.be(b7, k[b4]);
                var b8 = h[b4];
                var b9 = i[b4];
                var ca = f[b4];
                var cb = g[b4];
                this.view.a6(b7, b5 + ca, b6 + cb);
                this.cz.h(b7);
            }
            bv.f = false;
            if (!igniteuiAngularCore.isNaN_(c.p.c) && !igniteuiAngularCore.isNaN_(c.p.b)) {
                var cc = ag + (ae * c.p.c) * Math.cos(c.p.b);
                var cd = ah + (ae * c.p.c) * Math.sin(c.p.b);
                var ce = bz.a();
                if (ce.al != c.p.h) {
                    ce.al = c.p.h;
                }
                this.view.bd(ce, c.p.i);
                this.view.be(ce, c.p.a);
                this.view.a6(ce, cc + c.p.f, cd + c.p.g);
                this.c1.h(ce);
            }
            bz.f = false;
            if (!igniteuiAngularCore.isNaN_(c.o.c) && !igniteuiAngularCore.isNaN_(c.o.b)) {
                var cf = ag + (ae * c.o.c) * Math.cos(c.o.b);
                var cg = ah + (ae * c.o.c) * Math.sin(c.o.b);
                var ch = bx.a();
                if (ch.al != c.o.h) {
                    ch.al = c.o.h;
                }
                this.view.bd(ch, c.o.i);
                this.view.be(ch, c.o.a);
                this.view.a6(ch, cf + c.o.f, cg + c.o.g);
                this.c0.h(ch);
            }
            bx.f = false;
            if (this.bw != 0) {
                if (!igniteuiAngularCore.isNaN_(c.m.c) && !igniteuiAngularCore.isNaN_(c.m.b)) {
                    var ci = ag + (ae * c.m.c) * Math.cos(c.m.b);
                    var cj = ah + (ae * c.m.c) * Math.sin(c.m.b);
                    var ck = b1.a();
                    if (ck.al != c.m.h) {
                        ck.al = c.m.h;
                    }
                    this.view.bd(ck, c.m.i);
                    this.view.be(ck, c.m.a);
                    this.view.a6(ck, ci + c.m.f, cj + c.m.g);
                    this.cy.h(ck);
                }
                b1.f = false;
            }
            var cl = this.b3;
            cl.f = true;
            for (var cm = 0; cm < this.ct.count; cm++) {
                cl.n(this.ct._inner[cm]);
            }
            this.ct.clear();
            var _loop_1 = function (cn) {
                var co = ag + (ae * q) * Math.cos(o[cn]);
                var cp = ah + (ae * q) * Math.sin(o[cn]);
                var cq = ag + (ae * r) * Math.cos(o[cn]);
                var cr = ah + (ae * r) * Math.sin(o[cn]);
                var cs = cl.a();
                var ct = new igniteuiAngularCore.PathGeometry();
                var cu = new igniteuiAngularCore.PathFigure();
                cu._startPoint = { $type: igniteuiAngularCore.Point_$type, x: co, y: cp };
                cu._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: cq, y: cr };
                    return $ret;
                })()));
                ct.c.add(cu);
                cs.an = ct;
                cs._stroke = v;
                cs.ad = w;
                this_1.ct.add(cs);
            };
            var this_1 = this;
            for (var cn = 0; cn < o.length; cn++) {
                _loop_1(cn);
            }
            cl.f = false;
            var cv = this.b0;
            cv.f = true;
            for (var cw = 0; cw < this.cr.count; cw++) {
                cv.n(this.cr._inner[cw]);
            }
            this.cr.clear();
            var _loop_2 = function (cx) {
                var cy = ag + (ae * y) * Math.cos(p[cx]);
                var cz = ah + (ae * y) * Math.sin(p[cx]);
                var c0 = ag + (ae * z) * Math.cos(p[cx]);
                var c1 = ah + (ae * z) * Math.sin(p[cx]);
                var c2 = cv.a();
                var c3 = new igniteuiAngularCore.PathGeometry();
                var c4 = new igniteuiAngularCore.PathFigure();
                c4._startPoint = { $type: igniteuiAngularCore.Point_$type, x: cy, y: cz };
                c4._segments.add(((function () {
                    var $ret = new igniteuiAngularCore.LineSegment(1);
                    $ret.c = { $type: igniteuiAngularCore.Point_$type, x: c0, y: c1 };
                    return $ret;
                })()));
                c3.c.add(c4);
                c2.an = c3;
                c2._stroke = x;
                c2.ad = aa;
                this_2.cr.add(c2);
            };
            var this_2 = this;
            for (var cx = 0; cx < p.length; cx++) {
                _loop_2(cx);
            }
            cv.f = false;
            var c5 = this.b1;
            c5.f = true;
            for (var c6 = this.cs.count - 1; c6 >= 0; c6--) {
                c5.n(this.cs._inner[c6]);
            }
            this.cs.clear();
            for (var c7 = 0; c7 < c.r.count; c7++) {
                var c8 = c.r._inner[c7];
                var c9 = c5.a();
                c9.an = c8.m(ae, ag, ah);
                c9._fill = c8.k;
                c9._stroke = c8.l;
                c9.ad = c8.h;
                this.cs.add(c9);
            }
            this.view.bc(this.cs);
            c5.f = false;
        };
        XamRadialGauge.prototype.cq = function (a, b, c) {
            var d = c / 10000;
            if (igniteuiAngularCore.isNaN_(d)) {
                d = 1E-05;
            }
            var e = Math.abs(a - b);
            if (e < d) {
                return true;
            }
            return false;
        };
        XamRadialGauge.prototype.es = function (a) {
            if (igniteuiAngularCore.isInfinity(a)) {
                return NaN;
            }
            return a;
        };
        XamRadialGauge.prototype.eq = function (a, b) {
            if (igniteuiAngularCore.isInfinity(a)) {
                return b;
            }
            return a;
        };
        XamRadialGauge.prototype.et = function (a, b) {
            if (igniteuiAngularCore.isInfinity(a) || igniteuiAngularCore.isNaN_(a)) {
                return b;
            }
            return a;
        };
        XamRadialGauge.prototype.i4 = function () {
            var a = this.a3;
            a.e = this.es(this.ep);
            if (igniteuiAngularCore.isNaN_(a.e)) {
                a.e = 1;
            }
            if (this.ck && !igniteuiAngularCore.isNaN_(this.en) && this.en > 0) {
                var b = Math.min(this.mm.width, this.mm.height);
                this.em = b / this.en;
            }
            else {
                this.em = 1;
            }
            var c = this.mm;
            var d = this.a9;
            var e = this.es(this.dt);
            var f = this.es(this.dw);
            var g = this.es(this.d1);
            if (igniteuiAngularCore.isNaN_(e)) {
                e = (this.c9 - this.da) / 10;
            }
            if (igniteuiAngularCore.isNaN_(f)) {
                f = e;
            }
            if (igniteuiAngularCore.isNaN_(g)) {
                g = 3;
            }
            var h = new igniteuiAngularCore.List$1(igniteuiAngularCore.Tuple$2.$.specialize(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type), 0);
            var i = d.i;
            var j = d.g;
            while (i >= Math.PI * 2) {
                i -= Math.PI * 2;
            }
            while (j >= Math.PI * 2) {
                j -= Math.PI * 2;
            }
            var k = Math.abs(j - i) < 0.0001;
            var l = this.a1 == 1 || this.a1 == 3;
            var m = this.a1 == 0 || this.a1 == 3;
            for (var n = this.da; n <= this.c9 || this.cq(n, this.c9, f); n += f) {
                if (k && this.cq(n, this.da, f) && l) {
                    continue;
                }
                if (k && this.cq(n, this.c9, f) && m) {
                    continue;
                }
                h.add(new igniteuiAngularCore.Tuple$2(igniteuiAngularCore.Number_$type, igniteuiAngularCore.Number_$type, n, igniteuiAngularCore.MathUtil.g(d.h(n))));
                if (f == 0) {
                    break;
                }
            }
            var o = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            var p = new igniteuiAngularCore.List$1(igniteuiAngularCore.Number_$type, 0);
            for (var q = this.da; q <= this.c9 || this.cq(q, this.c9, e); q += e) {
                o.add(d.h(q));
                for (var r = 0; r < g; r++) {
                    var s = (e / (g + 1)) * (r + 1);
                    if (s + q > this.c9) {
                        continue;
                    }
                    p.add(d.h(s + q));
                }
                if (e == 0) {
                    break;
                }
            }
            if (a.d.c.length != h.count) {
                a.d.g = new Array(h.count);
                a.d.c = new Array(h.count);
                a.d.h = new Array(h.count);
                a.d.f = new Array(h.count);
                a.d.i = new Array(h.count);
                a.d.j = new Array(h.count);
                a.d.e = new Array(h.count);
                a.d.d = new Array(h.count);
            }
            if (a.d.l.length != o.count || a.d.k.length != p.count) {
                a.d.l = new Array(o.count);
                a.d.k = new Array(p.count);
            }
            var t = this.bp();
            for (var u = 0; u < h.count; u++) {
                var v = h._inner[u].c;
                var w = h._inner[u].d;
                var x = this.av(v, w, "Label", true, this.am, this.formatLabel);
                var y = this.aq(this.du, this.l6, t, x, this.alignLabel, igniteuiAngularCore.runOn(this.view, this.view.ch));
                a.d.c[u] = y.angle;
                a.d.h[u] = y.width;
                a.d.f[u] = y.height;
                a.d.i[u] = y.offsetX;
                a.d.j[u] = y.offsetY;
                a.d.g[u] = y.label;
                a.d.e[u] = t.b(y.font);
                a.d.d[u] = y.brush;
            }
            var z = this.fb;
            if (this.cp) {
                z = (igniteuiAngularCore.MathUtil.g(this.a9.h(this.ff)) + 180) % 360;
            }
            var aa = this.av(this.ff, z, this.id, this.co, this.ap, this.formatTitle);
            var ab = this.bs.a();
            var ac = this.aq(this.fc, this.mh, ab, aa, this.alignTitle, igniteuiAngularCore.runOn(this.view, this.view.cj));
            a.d.p.b = ac.angle;
            a.d.p.e = ac.width;
            a.d.p.d = ac.height;
            a.d.p.f = ac.offsetX;
            a.d.p.g = ac.offsetY;
            a.d.p.c = ac.extent;
            a.d.p.i = ac.brush;
            a.d.p.h = ac.label;
            a.d.p.a = ab.b(ac.font);
            var ad = this.e3;
            if (this.cn) {
                ad = (igniteuiAngularCore.MathUtil.g(this.a9.h(this.ff)) + 180) % 360;
            }
            var ae = this.av(this.ff, ad, this.hy, this.cm, this.ao, this.formatSubtitle);
            var af = this.br.a();
            var ag = this.aq(this.e4, this.mf, af, ae, this.alignSubtitle, igniteuiAngularCore.runOn(this.view, this.view.ci));
            a.d.o.b = ag.angle;
            a.d.o.e = ag.width;
            a.d.o.d = ag.height;
            a.d.o.f = ag.offsetX;
            a.d.o.g = ag.offsetY;
            a.d.o.c = ag.extent;
            a.d.o.i = ag.brush;
            a.d.o.h = ag.label;
            a.d.o.a = af.b(ag.font);
            var ah = this.dp;
            if (this.b8) {
                ah = (igniteuiAngularCore.MathUtil.g(this.a9.h(this.dr)) + 180) % 360;
            }
            var ai = this.av(this.dr, ah, this.f6, this.b7, this.an, this.formatHighlightLabel);
            var aj = this.bq.a();
            var ak = this.aq(this.dq, this.l8, aj, ai, this.alignHighlightLabel, igniteuiAngularCore.runOn(this.view, this.view.cg));
            a.d.m.b = ak.angle;
            a.d.m.e = ak.width;
            a.d.m.d = ak.height;
            a.d.m.f = ak.offsetX;
            a.d.m.g = ak.offsetY;
            a.d.m.c = ak.extent;
            a.d.m.i = ak.brush;
            var al = !(this.bw == 0 || this.bw == 5);
            a.d.m.h = al ? ak.label : null;
            a.d.m.a = aj.b(ak.font);
            for (var am = 0; am < o.count; am++) {
                a.d.l[am] = o._inner[am];
            }
            for (var an = 0; an < p.count; an++) {
                a.d.k[an] = p._inner[an];
            }
            a.d.ab = this.et(this.e0, 0.5);
            a.d.y = this.et(this.ev, 0.57);
            a.d.t = this.et(this.du, 0.65);
            a.d.ad = this.et(this.e7, 0.5);
            a.d.ac = this.et(this.e5, 0.57);
            a.d.v = this.et(this.d4, 0.54);
            a.d.u = this.et(this.d2, 0.57);
            a.d.aa = d.i;
            a.d.x = d.g;
            var ao = this.ex;
            if (igniteuiAngularCore.isNaN_((ao))) {
                ao = 2.8;
            }
            var ap = ao * Math.PI / 180;
            if (ap < 0) {
                ap = 0;
            }
            a.d.z = ap;
            a.d.ak = this.mg;
            a.d.ai = this.l9;
            a.d.aj = this.me;
            a.d.ae = this.es(this.e9);
            a.d.w = this.es(this.d6);
            if (igniteuiAngularCore.isNaN_(a.d.ae)) {
                a.d.ae = XamRadialGauge.fa;
            }
            if (igniteuiAngularCore.isNaN_(a.d.w)) {
                a.d.w = XamRadialGauge.d7;
            }
            a.d.r.clear();
            for (var aq = 0; aq < this.ranges.count; aq++) {
                var ar = this.ranges._inner[aq];
                var as = this.es(Math.min(ar.o, ar.j));
                var at = this.es(Math.max(ar.o, ar.j));
                if (igniteuiAngularCore.isNaN_(as) || igniteuiAngularCore.isNaN_(at)) {
                    continue;
                }
                var au = d.h(as);
                var av = d.h(at);
                var aw = RadialGaugeScaler.k(au, av, this.mi);
                au = aw.c;
                av = aw.d;
                var ax = new RadialGaugeRangeFrame();
                ax.e = au;
                ax.b = av;
                ax.k = ar.ao != null ? ar.ao : this.l7(aq, this.ak);
                ax.l = ar.ap != null ? ar.ap : this.l7(aq, this.al);
                ax.h = this.et(ar.p, XamRadialGaugeRange.q);
                ax.f = this.es(ar.l);
                if (igniteuiAngularCore.isNaN_(ax.f)) {
                    ax.f = Math.max(0, this.e0);
                }
                ax.c = this.es(ar.k);
                if (igniteuiAngularCore.isNaN_(ax.c)) {
                    ax.c = Math.max(0, this.e0);
                }
                ax.g = this.es(ar.n);
                if (igniteuiAngularCore.isNaN_(ax.g)) {
                    ax.g = Math.max(0, this.ev);
                }
                ax.d = this.es(ar.m);
                if (igniteuiAngularCore.isNaN_(ax.d)) {
                    ax.d = Math.max(0, this.ev);
                }
                if (this.mi == 0) {
                    var ay = ax.f;
                    ax.f = ax.c;
                    ax.c = ay;
                    ay = ax.g;
                    ax.g = ax.d;
                    ax.d = ay;
                }
                a.d.r.add(ax);
            }
        };
        XamRadialGauge.prototype.i1 = function () {
            var a = this.a3;
            a.e = this.ep;
            var b = a.a;
            var c = this.l4;
            var d = this.l5;
            var e = this.eq(this.dj, XamRadialGauge.dk);
            var f = this.a0;
            var g = this.dg;
            var h = this.de;
            if (igniteuiAngularCore.isInfinity(h) || igniteuiAngularCore.isNaN_(h)) {
                h = 0.12;
            }
            if (igniteuiAngularCore.isInfinity(g) || igniteuiAngularCore.isNaN_(g)) {
                g = 0.82;
            }
            var i = this.dc;
            if (igniteuiAngularCore.isInfinity(i) || igniteuiAngularCore.isNaN_(i)) {
                i = 4;
            }
            if (h > g) {
                var j = g;
                g = h;
                h = j;
            }
            var k = this.a9;
            var l = k.i;
            var m = k.g;
            b.l = c;
            b.m = d;
            b.h = e;
            if (f == 0) {
                b.b = 0;
                b.g = 0;
                b.c = 0;
                b.d = 0;
                b.e = this.dg;
            }
            else {
                b.b = i;
                var n = this.di * Math.PI / 180;
                if (n < 0) {
                    n = 0;
                }
                if ((Math.PI * 2) - (m - l) < n) {
                    b.f = 0;
                    b.b = 0;
                    b.g = 0;
                    b.c = 0;
                    b.d = 0;
                    b.e = g;
                }
                else {
                    b.f = n;
                    b.g = l;
                    b.c = m;
                    b.b = i;
                    b.d = h;
                    b.e = g;
                }
            }
        };
        Object.defineProperty(XamRadialGauge.prototype, "b5", {
            get: function () {
                return this.bc.f();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "fd", {
            get: function () {
                return this.c7;
            },
            set: function (a) {
                var b = this.c7;
                this.c7 = a;
                this.iy("TransitionProgress", b, this.c7);
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.iq = function (a, b) {
            var c = this.dn(a);
            var d = this.bx == 2;
            var e = d ? this.cc : this.ce;
            if (e) {
                var f = this.fe(this.a9.g - Math.PI * 2);
                switch (this.mi) {
                    case 1:
                        if (c < this.da) {
                            c = c < f * 0.5 ? this.c9 : this.da;
                        }
                        break;
                    case 0:
                        if (c > this.c9) {
                            c = c < (f + this.c9) * 0.5 ? this.c9 : this.da;
                        }
                        break;
                }
            }
            if (d) {
                if (c != this.dr) {
                    this.dr = c;
                }
            }
            else {
                if (c != this.ff) {
                    this.ff = c;
                }
            }
        };
        XamRadialGauge.prototype.destroy = function () {
            this.provideContainer(null);
        };
        XamRadialGauge.prototype.provideContainer = function (a) {
            this.view.aw(a);
        };
        XamRadialGauge.prototype.onMouseMove = function (a, b) {
            if (this.bx != 0) {
                this.iq(a, b);
            }
        };
        XamRadialGauge.prototype.onMouseDown = function (a, b) {
            if (b === void 0) {
                b = false;
            }
            if (this.cf && this.needleContainsPoint(a, b) && this.bx == 0) {
                this.bx = 1;
            }
            if (this.cd && this.highlightNeedleContainsPoint(a, b) && this.bx == 0) {
                this.bx = 2;
            }
        };
        XamRadialGauge.prototype.onMouseUp = function (a) {
            if (this.bx != 0) {
                this.bx = 0;
            }
        };
        XamRadialGauge.prototype.containerResized = function () {
            this.view.ax();
        };
        XamRadialGauge.prototype.ir = function () {
            this.view.flush();
        };
        XamRadialGauge.prototype.ba = function () {
            var a = new GaugeVisualData();
            a.viewport = new igniteuiAngularCore.RectData(this.mm.left, this.mm.top, this.mm.width, this.mm.height);
            a.scaleLabels = new ScaleLabelVisualDataList();
            a.scaleTickmarks = new ScaleTickmarkVisualDataList();
            a.ranges = new RangeVisualDataList();
            a.needle = new NeedleVisualData();
            a.highlightNeedle = new NeedleVisualData();
            a.titleLabels = new ScaleLabelVisualDataList();
            a.subtitleLabels = new ScaleLabelVisualDataList();
            a.highlightLabels = new ScaleLabelVisualDataList();
            this.view.am(a);
            return a;
        };
        XamRadialGauge.prototype.fu = function () {
            var a = this.ba();
            a.scaleByViewport();
            return a.serialize();
        };
        XamRadialGauge.prototype.bp = function () {
            if (this.fv == null) {
                return igniteuiAngularCore.FontUtil.getFont(this.view.ac);
            }
            else {
                return igniteuiAngularCore.FontUtil.toFontInfo(this.view.ac, this.fv);
            }
        };
        Object.defineProperty(XamRadialGauge.prototype, "eo", {
            get: function () {
                return this.c6;
            },
            set: function (a) {
                var b = this.c6;
                this.c6 = a;
                this.iy("PixelScalingRatio", b, this.c6);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "db", {
            get: function () {
                return this.c5;
            },
            set: function (a) {
                var b = this.c5;
                this.c5 = a;
                this.iy("ActualPixelScalingRatio", b, this.c5);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "bq", {
            get: function () {
                return this.bj;
            },
            set: function (a) {
                var b = this.bj;
                if (a == null || !this.b6(a)) {
                    a = XamRadialGauge.bm();
                }
                else {
                    a = igniteuiAngularCore.FontUtil.getFontInfoFromString(this.view.ac, a.fontString);
                }
                this.bj = a;
                if (b != this.bj) {
                    this.iy("HighlightLabelTextStyle", b, this.bj);
                }
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.prototype.b6 = function (a) {
            if (a == null) {
                return false;
            }
            return a.fontString != null && a.fontString != "NaNpx/normal";
        };
        Object.defineProperty(XamRadialGauge.prototype, "br", {
            get: function () {
                return this.bk;
            },
            set: function (a) {
                var b = this.bk;
                if (a == null || !this.b6(a)) {
                    a = XamRadialGauge.bn();
                }
                else {
                    a = igniteuiAngularCore.FontUtil.getFontInfoFromString(this.view.ac, a.fontString);
                }
                this.bk = a;
                if (b != this.bk) {
                    this.iy("SubtitleTextStyle", b, this.bk);
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(XamRadialGauge.prototype, "bs", {
            get: function () {
                return this.bl;
            },
            set: function (a) {
                var b = this.bl;
                if (a == null || !this.b6(a)) {
                    a = XamRadialGauge.bo();
                }
                else {
                    a = igniteuiAngularCore.FontUtil.getFontInfoFromString(this.view.ac, a.fontString);
                }
                this.bl = a;
                if (b != this.bl) {
                    this.iy("TitleTextStyle", b, this.bl);
                }
            },
            enumerable: false,
            configurable: true
        });
        XamRadialGauge.$t = igniteuiAngularCore.markType(XamRadialGauge, 'XamRadialGauge', igniteuiAngularCore.Control.$, [igniteuiAngularCore.INotifyPropertyChanged_$type]);
        XamRadialGauge.bh = null;
        XamRadialGauge.bi = null;
        XamRadialGauge.bg = null;
        XamRadialGauge.j3 = igniteuiAngularCore.DependencyProperty.i("HighlighValueOpacity", igniteuiAngularCore.Number_$type, XamRadialGauge.$, new igniteuiAngularCore.PropertyMetadata(2, 0.5, function (a, b) { return a.iy("HighlighValueOpacity", b.oldValue, b.newValue); }));
        XamRadialGauge.k1 = igniteuiAngularCore.DependencyProperty.i("NeedleStartWidth", igniteuiAngularCore.Number_$type, XamRadialGauge.$, new igniteuiAngularCore.PropertyMetadata(2, NaN, function (a, b) { return a.iy("NeedleStartWidth", b.oldValue, b.newValue); }));
        XamRadialGauge.el = igniteuiAngularCore.DeviceUtils.g(1);
        XamRadialGauge.ee = igniteuiAngularCore.DeviceUtils.g(1);
        XamRadialGauge.fa = igniteuiAngularCore.DeviceUtils.g(3);
        XamRadialGauge.d7 = igniteuiAngularCore.DeviceUtils.g(2);
        XamRadialGauge.dk = igniteuiAngularCore.DeviceUtils.g(12);
        XamRadialGauge.$$p = igniteuiAngularCore.markDep(igniteuiAngularCore.DependencyProperty, igniteuiAngularCore.PropertyMetadata, XamRadialGauge, 'iy', ['BackingBrush:l4:jh', [igniteuiAngularCore.Brush.$, null], 'BackingCornerRadius:dc:ji', [1, 4], 'BackingInnerExtent:de:jj', [1, 0.12], 'BackingOuterExtent:dg:jk', [1, 0.82], 'BackingOutline:l5:jl', [igniteuiAngularCore.Brush.$, null], 'BackingOversweep:di:jm', [1, 3], 'BackingShape:a0:jn', [RadialGaugeBackingShape_$type, igniteuiAngularCore.enumGetBox(RadialGaugeBackingShape_$type, 0)], 'BackingStrokeThickness:dj:jo', [1, XamRadialGauge.dk], 'CenterX:dl:jp', [1, 0.5], 'CenterY:dm:jq', [1, 0.5], 'DuplicateLabelOmissionStrategy:a1:jr', [RadialGaugeDuplicateLabelOmissionStrategy_$type, igniteuiAngularCore.enumGetBox(RadialGaugeDuplicateLabelOmissionStrategy_$type, 0)], 'FontBrush:l6:js', [igniteuiAngularCore.Brush.$, null], 'Font:fv:jt', [2, null], 'HighlightLabelAngle:dp:ju', [1, 90], 'HighlightLabelBrush:l8:jv', [igniteuiAngularCore.Brush.$, null], 'HighlightLabelDisplaysValue:b7:jw', [0, false], 'HighlightLabelExtent:dq:jx', [1, 0.2], 'HighlightLabelFormat:f2:jy', [2, null], 'HighlightLabelFormatSpecifiers:ag:jz', [igniteuiAngularCore.Array_$type, null], 'HighlightLabelSnapsToNeedlePivot:b8:j0', [0, false], 'HighlightLabelText:f6:j1', [2, null], 'HighlightValueDisplayMode:bv:j2', [igniteuiAngularCore.HighlightedValueDisplayMode_$type, igniteuiAngularCore.enumGetBox(igniteuiAngularCore.HighlightedValueDisplayMode_$type, 0)], 'HighlightValue:dr:j4', [1, NaN], 'Interval:dt:j5', [1, NaN], 'IsHighlightNeedleDraggingConstrained:cc:j6', [0, true], 'IsHighlightNeedleDraggingEnabled:cd:j7', [0, false], 'IsNeedleDraggingConstrained:ce:j8', [0, true], 'IsNeedleDraggingEnabled:cf:j9', [0, false], 'LabelExtent:du:ka', [1, 0.65], 'LabelFormat:gi:kb', [2, null], 'LabelFormatSpecifiers:ah:kc', [igniteuiAngularCore.Array_$type, null], 'LabelInterval:dw:kd', [1, NaN], 'MaximumValue:dx:ke', [1, 100], 'MinimumValue:dz:kf', [1, 0], 'MinorTickBrush:l9:kg', [igniteuiAngularCore.Brush.$, null], 'MinorTickCount:d1:kh', [1, 3], 'MinorTickEndExtent:d2:ki', [1, 0.57], 'MinorTickStartExtent:d4:kj', [1, 0.54], 'MinorTickStrokeThickness:d6:kk', [1, XamRadialGauge.d7], 'NeedleBaseFeatureExtent:d8:kl', [1, NaN], 'NeedleBaseFeatureWidthRatio:d9:km', [1, NaN], 'NeedleBrush:ma:kn', [igniteuiAngularCore.Brush.$, null], 'NeedleEndExtent:ea:ko', [1, NaN], 'NeedleEndWidthRatio:eb:kp', [1, NaN], 'NeedleOutline:mb:kq', [igniteuiAngularCore.Brush.$, null], 'NeedlePivotBrush:mc:kr', [igniteuiAngularCore.Brush.$, null], 'NeedlePivotInnerWidthRatio:ec:ks', [1, NaN], 'NeedlePivotOutline:md:kt', [igniteuiAngularCore.Brush.$, null], 'NeedlePivotShape:a6:ku', [RadialGaugePivotShape_$type, igniteuiAngularCore.enumGetBox(RadialGaugePivotShape_$type, 3)], 'NeedlePivotStrokeThickness:ed:kv', [1, XamRadialGauge.ee], 'NeedlePivotWidthRatio:ef:kw', [1, NaN], 'NeedlePointFeatureExtent:eg:kx', [1, NaN], 'NeedlePointFeatureWidthRatio:eh:ky', [1, NaN], 'NeedleShape:a5:kz', [RadialGaugeNeedleShape_$type, igniteuiAngularCore.enumGetBox(RadialGaugeNeedleShape_$type, 4)], 'NeedleStartExtent:ei:k0', [1, NaN], 'NeedleStrokeThickness:ek:k2', [1, XamRadialGauge.el], 'OpticalScalingEnabled:ck:k3', [0, false], 'OpticalScalingSize:en:k4', [1, 500], 'RadiusMultiplier:ep:k5', [1, 1], 'RangeBrushes:ak:k6', [igniteuiAngularCore.BrushCollection.$, null], 'RangeOutlines:al:k7', [igniteuiAngularCore.BrushCollection.$, null], 'Ranges::k8', [RadialGaugeRangeCollection.$, null], 'ScaleBrush:me:k9', [igniteuiAngularCore.Brush.$, null], 'ScaleEndAngle:eu:la', [1, 45], 'ScaleEndExtent:ev:lb', [1, 0.57], 'ScaleOversweep:ex:lc', [1, 2.8], 'ScaleOversweepShape:a8:ld', [RadialGaugeScaleOversweepShape_$type, igniteuiAngularCore.enumGetBox(RadialGaugeScaleOversweepShape_$type, 0)], 'ScaleStartAngle:ez:le', [1, 135], 'ScaleStartExtent:e0:lf', [1, 0.5], 'ScaleSweepDirection:mi:lg', [igniteuiAngularCore.SweepDirection_$type, igniteuiAngularCore.enumGetBox(igniteuiAngularCore.SweepDirection_$type, 1)], 'SubtitleAngle:e3:lh', [1, 90], 'SubtitleBrush:mf:li', [igniteuiAngularCore.Brush.$, null], 'SubtitleDisplaysValue:cm:lj', [0, false], 'SubtitleExtent:e4:lk', [1, 0.5], 'SubtitleFormat:hu:ll', [2, null], 'SubtitleFormatSpecifiers:ai:lm', [igniteuiAngularCore.Array_$type, null], 'SubtitleSnapsToNeedlePivot:cn:ln', [0, false], 'SubtitleText:hy:lo', [2, null], 'TickBrush:mg:lp', [igniteuiAngularCore.Brush.$, null], 'TickEndExtent:e5:lq', [1, 0.57], 'TickStartExtent:e7:lr', [1, 0.5], 'TickStrokeThickness:e9:ls', [1, XamRadialGauge.fa], 'TitleAngle:fb:lt', [1, 90], 'TitleBrush:mh:lu', [igniteuiAngularCore.Brush.$, null], 'TitleDisplaysValue:co:lv', [0, false], 'TitleExtent:fc:lw', [1, 0.38], 'TitleFormat:h9:lx', [2, null], 'TitleFormatSpecifiers:aj:ly', [igniteuiAngularCore.Array_$type, null], 'TitleSnapsToNeedlePivot:cp:lz', [0, false], 'TitleText:id:l0', [2, null], 'TransitionDuration:fg:l1', [1, 0], 'TransitionEasingFunction:bf:l2', [igniteuiAngularCore.Delegate_$type, null], 'Value:ff:l3', [1, 0]]);
        return XamRadialGauge;
    }(igniteuiAngularCore.Control));
    /**
     * @hidden
     */
    var XamRadialGaugeView = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(XamRadialGaugeView, _super);
        function XamRadialGaugeView(a) {
            var _this = _super.call(this) || this;
            _this.h = null;
            _this.s = null;
            _this.r = null;
            _this.q = null;
            _this.v = null;
            _this.u = null;
            _this.t = null;
            _this.b4 = new igniteuiAngularCore.Path();
            _this.b3 = new igniteuiAngularCore.Path();
            _this.b6 = new igniteuiAngularCore.Path();
            _this.b2 = new igniteuiAngularCore.Path();
            _this.b5 = new igniteuiAngularCore.Path();
            _this.b7 = new igniteuiAngularCore.Path();
            _this.o = null;
            _this.a = ["needle", "needlePivot", "backing", "scale", "tick", "minorTick", "label"];
            _this.c = null;
            _this.d = null;
            _this.l = false;
            _this.m = false;
            _this.g = null;
            _this.ad = null;
            _this.k = null;
            _this.ac = null;
            _this.i = null;
            _this.bp = new igniteuiAngularCore.Brush();
            _this.bq = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "black";
                return $ret;
            })());
            _this.w = NaN;
            _this.p = null;
            _this.af = -1;
            _this.ae = -1;
            _this.bu = null;
            _this.bv = null;
            _this.bw = null;
            _this.bx = null;
            _this.br = null;
            _this.bs = null;
            _this.by = null;
            _this.b0 = null;
            _this.bt = null;
            _this.bz = null;
            _this.b1 = null;
            _this.e = null;
            _this.f = null;
            _this.x = 0;
            _this.h = a;
            _this.o = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.Dictionary$2.$.specialize(igniteuiAngularCore.String_$type, igniteuiAngularCore.String_$type), 0);
            _this.q = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.r = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.s = new igniteuiAngularCore.List$1(igniteuiAngularCore.Path.$, 0);
            _this.v = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.u = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            _this.t = new igniteuiAngularCore.List$1(igniteuiAngularCore.TextBlock.$, 0);
            return _this;
        }
        XamRadialGaugeView.prototype.ar = function (a) {
            a._visibility = 0;
        };
        XamRadialGaugeView.prototype.as = function (a) {
            a._visibility = 1;
        };
        XamRadialGaugeView.prototype.at = function (a) {
            this.q.remove(a);
        };
        XamRadialGaugeView.prototype.bm = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.q.add(a);
            return a;
        };
        XamRadialGaugeView.prototype.bh = function (a) {
            this.v.remove(a);
        };
        XamRadialGaugeView.prototype.bo = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.v.add(a);
            return a;
        };
        XamRadialGaugeView.prototype.bg = function (a) {
            this.u.remove(a);
        };
        XamRadialGaugeView.prototype.bn = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.u.add(a);
            return a;
        };
        XamRadialGaugeView.prototype.ap = function (a) {
            this.t.remove(a);
        };
        XamRadialGaugeView.prototype.bl = function () {
            var a = new igniteuiAngularCore.TextBlock();
            this.t.add(a);
            return a;
        };
        XamRadialGaugeView.prototype.a2 = function (a) {
            a._visibility = 0;
        };
        XamRadialGaugeView.prototype.a3 = function (a) {
            a._visibility = 1;
        };
        XamRadialGaugeView.prototype.a4 = function (a) {
            this.r.remove(a);
        };
        XamRadialGaugeView.prototype.ce = function () {
            var a = new igniteuiAngularCore.Path();
            this.r.add(a);
            return a;
        };
        XamRadialGaugeView.prototype.a7 = function (a) {
            a._visibility = 0;
        };
        XamRadialGaugeView.prototype.a8 = function (a) {
            a._visibility = 1;
        };
        XamRadialGaugeView.prototype.a9 = function (a) {
            this.s.remove(a);
        };
        XamRadialGaugeView.prototype.cf = function () {
            var a = new igniteuiAngularCore.Path();
            this.s.add(a);
            return a;
        };
        XamRadialGaugeView.prototype.n = function () {
            return true;
        };
        XamRadialGaugeView.prototype.ca = function () {
            return this.b4;
        };
        XamRadialGaugeView.prototype.b9 = function () {
            return this.b3;
        };
        XamRadialGaugeView.prototype.cc = function () {
            return this.b6;
        };
        XamRadialGaugeView.prototype.z = function (a, b) {
            var c = igniteuiAngularCore.typeCast(igniteuiAngularCore.TextBlock.$, a);
            if (c != null && c.al != null) {
                this.k.af(b);
                return this.k.f(c) + 0;
            }
            return 0;
        };
        XamRadialGaugeView.prototype.ch = function (a, b) {
            if (b == null) {
                b = this.h.bp();
            }
            var c = this.z(a, b);
            var d = this.y(b);
            return new igniteuiAngularCore.Size(1, c, d);
        };
        XamRadialGaugeView.prototype.cj = function (a, b) {
            var c = this.z(a, b);
            var d = this.y(b);
            return new igniteuiAngularCore.Size(1, c, d);
        };
        XamRadialGaugeView.prototype.ci = function (a, b) {
            var c = this.z(a, b);
            var d = this.y(b);
            return new igniteuiAngularCore.Size(1, c, d);
        };
        XamRadialGaugeView.prototype.cg = function (a, b) {
            var c = this.z(a, b);
            var d = this.y(b);
            return new igniteuiAngularCore.Size(1, c, d);
        };
        XamRadialGaugeView.prototype.ao = function () {
            this.l = true;
            var a = ["#CED3D8", "#CED3D8", "#EBEDEF", "#FFC73C", "#617583", "rgba(100,107,114,.74)", "rgba(100,107,114,.74)"];
            var b = ["#B2B9C0", "#B2B9C0", "#B2B9C0", null, null, null, null];
            var c = ["background-color", "border-top-color"];
            var d = ((function () {
                var $ret = new igniteuiAngularCore.List$1(igniteuiAngularCore.Array_$type, 0);
                $ret.add(a);
                $ret.add(b);
                return $ret;
            })());
            this.o.clear();
            var e = this.a.length;
            for (var f = 0; f < e; f++) {
                var g = new igniteuiAngularCore.Dictionary$2(igniteuiAngularCore.String_$type, igniteuiAngularCore.String_$type, 0);
                var h = this.a[f];
                var i = new Array(c.length);
                igniteuiAngularCore.arrayCopy1(c, 0, i, 0, c.length);
                this.b("ui-radialgauge-" + h, i);
                for (var j = 0; j < i.length; j++) {
                    g.item(c[j], (i[j] == null) ? d._inner[j][f] : i[j]);
                }
                this.o.item(h, g);
            }
            this.bj();
            var k;
            var l;
            var m = igniteuiAngularCore.BrushUtil.h("radialgauge-range", this.ac, k, l);
            k = m.p2;
            l = m.p3;
            this.c = k;
            this.d = l;
            if (this.e == null) {
                this.h.ak = this.c;
            }
            if (this.f == null) {
                this.h.al = this.d;
            }
            this.l = false;
        };
        XamRadialGaugeView.prototype.au = function () {
            this.aq();
            if (this.g != null) {
                this.g.au(this.ac.rootWrapper, "");
            }
        };
        XamRadialGaugeView.prototype.ay = function () {
            if (this.g != null && this.ac != null) {
                this.g.bi(this.ac.rootWrapper, "");
            }
        };
        XamRadialGaugeView.prototype.bj = function () {
            this.l = true;
            var a = this.a.length;
            for (var b = 0; b < a; b++) {
                var c = this.a[b];
                this.bi(c, this.o.item(c));
            }
            this.l = false;
        };
        XamRadialGaugeView.prototype.bi = function (a, b) {
            var e_7, _a;
            var c = null;
            var d = null;
            var e = b.count;
            try {
                for (var _b = tslib.__values(igniteuiAngularCore.fromEnum(b.keys)), _c = _b.next(); !_c.done; _c = _b.next()) {
                    var f = _c.value;
                    switch (f) {
                        case "background-color":
                            c = new igniteuiAngularCore.Brush();
                            if (b.item(f) != null) {
                                c._fill = b.item(f);
                            }
                            break;
                        case "border-top-color":
                            d = new igniteuiAngularCore.Brush();
                            if (b.item(f) != null) {
                                d._fill = b.item(f);
                            }
                            break;
                    }
                }
            }
            catch (e_7_1) {
                e_7 = { error: e_7_1 };
            }
            finally {
                try {
                    if (_c && !_c.done && (_a = _b.return))
                        _a.call(_b);
                }
                finally {
                    if (e_7)
                        throw e_7.error;
                }
            }
            switch (a) {
                case "needle":
                    if (this.bu == null) {
                        this.h.ma = c;
                    }
                    if (this.bv == null) {
                        this.h.mb = d;
                    }
                    break;
                case "needlePivot":
                    if (this.bw == null) {
                        this.h.mc = c;
                    }
                    if (this.bx == null) {
                        this.h.md = d;
                    }
                    break;
                case "backing":
                    if (this.br == null) {
                        this.h.l4 = c;
                    }
                    if (this.bs == null) {
                        this.h.l5 = d;
                    }
                    break;
                case "scale":
                    if (this.by == null) {
                        this.h.me = c;
                    }
                    break;
                case "tick":
                    if (this.b0 == null) {
                        this.h.mg = c;
                    }
                    break;
                case "minorTick":
                    if (this.bt == null) {
                        this.h.l9 = c;
                    }
                    break;
                case "label":
                    this.bq = c;
                    break;
            }
        };
        XamRadialGaugeView.prototype.b = function (a, b) {
            this.ac.startCSSQuery();
            for (var c = 0; c < b.length; c++) {
                b[c] = this.ac.getCssDefaultPropertyValue(a, b[c]);
            }
            this.ac.endCSSQuery();
            return b;
        };
        XamRadialGaugeView.ab = function (a, b) {
            var c = a == null ? 0 : a.length;
            if (c < 1) {
                return b;
            }
            var d = a.split('.');
            var e = (d[0].length > 0) ? parseInt(d[0]) : 0;
            if (d.length != 2) {
                return e;
            }
            c = d[1].length;
            var f = parseInt(d[1]);
            while (c-- > 0) {
                f /= 10;
            }
            return f + e;
        };
        XamRadialGaugeView.prototype.az = function () {
            this.l = true;
            this.h.ma = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#CED3D8";
                return $ret;
            })());
            this.h.mb = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#B2B9C0";
                return $ret;
            })());
            this.h.mg = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#617583";
                return $ret;
            })());
            this.h.me = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#FFC73C";
                return $ret;
            })());
            this.h.l4 = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#EBEDEF";
                return $ret;
            })());
            this.h.l5 = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#B2B9C0";
                return $ret;
            })());
            this.h.mc = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#CED3D8";
                return $ret;
            })());
            this.h.md = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "#B2B9C0";
                return $ret;
            })());
            this.h.l9 = ((function () {
                var $ret = new igniteuiAngularCore.Brush();
                $ret.fill = "rgba(100,107,114,.74)";
                return $ret;
            })());
            this.l = false;
            this.aq();
        };
        XamRadialGaugeView.prototype.aq = function () {
            var a = igniteuiAngularCore.CanvasScalingHelpers.b(this.ac);
            this.h.db = igniteuiAngularCore.CanvasScalingHelpers.a(this.h.eo, this.h.db, a);
            if (this.g != null) {
                igniteuiAngularCore.CanvasScalingHelpers.h(this.g, a);
            }
        };
        XamRadialGaugeView.prototype.bb = function () {
            if (!this.m) {
                this.m = true;
                if (this.ac != null) {
                    this.ac.setTimeout(igniteuiAngularCore.runOn(this, this.ag), 0);
                }
                else {
                    window.setTimeout(igniteuiAngularCore.runOn(this, this.ag), 0);
                }
            }
        };
        XamRadialGaugeView.prototype.ag = function () {
            if (this.m) {
                this.m = false;
                this.h.im();
            }
        };
        XamRadialGaugeView.prototype.flush = function () {
            if (this.m) {
                this.ag();
            }
        };
        XamRadialGaugeView.prototype.a6 = function (a, b, c) {
            a.n = b;
            a.o = c;
        };
        XamRadialGaugeView.prototype.aw = function (a) {
            var _this = this;
            if (a == null) {
                this.ad = null;
                this.ac = null;
                this.k = null;
                if (this.h.b5) {
                    this.h.bc.w();
                }
                this.ai();
                return;
            }
            this.x = (igniteuiAngularCore.isNaN_(this.h.eo) ? this.h.db : this.h.eo);
            var b = a;
            this.ac = b;
            this.h.bc.u(this.ac);
            this.ac.rootWrapper.addClass("ui-radialgauge-container");
            var c = this.x;
            var d = Math.round(b.rootWrapper.width());
            var e = Math.round(b.rootWrapper.height());
            var f = d * c;
            var g = e * c;
            this.ac.rootWrapper.setStyleProperty("position", "relative");
            var h = this.ac.createElement("canvas");
            h.setStyleProperty("position", "absolute");
            this.ac.append(h);
            this.af = igniteuiAngularCore.truncate(Math.round(f));
            this.ae = igniteuiAngularCore.truncate(Math.round(g));
            h.setAttribute("width", f.toString());
            h.setAttribute("height", g.toString());
            h.setStyleProperty("width", d.toString() + "px");
            h.setStyleProperty("height", e.toString() + "px");
            h.setStyleProperty("left", "0px");
            h.setStyleProperty("top", "0px");
            this.h.mm = new igniteuiAngularCore.Rect(0, 0, 0, d, e);
            this.ad = h;
            var i = this.ac.get2DCanvasContext(this.ad);
            this.k = new igniteuiAngularCore.RenderingContext(new igniteuiAngularCore.CanvasViewRenderer(), i);
            this.ao();
            this.bk();
            this.k.af(this.i);
            this.ai();
            if (igniteuiAngularCore.TypeRegistrar.isRegistered("CanvasGestureDOMEventProxy")) {
                this.g = igniteuiAngularCore.typeCast(igniteuiAngularCore.EventProxy.$, igniteuiAngularCore.TypeRegistrar.create("CanvasGestureDOMEventProxy", this.ac.rootWrapper, this.ac, false));
            }
            if (this.g != null) {
                var j = this.g;
                j.onContactStarted = igniteuiAngularCore.delegateCombine(j.onContactStarted, igniteuiAngularCore.runOn(this, this.al));
                var k = this.g;
                k.onContactMoved = igniteuiAngularCore.delegateCombine(k.onContactMoved, igniteuiAngularCore.runOn(this, this.ak));
                var l = this.g;
                l.onContactCompleted = igniteuiAngularCore.delegateCombine(l.onContactCompleted, igniteuiAngularCore.runOn(this, this.aj));
                this.g.ap = function (m) { return (_this.h.cf && (_this.h.bx == 1 || _this.h.ch(m))) || (_this.h.cd && (_this.h.bx == 2 || _this.h.b9(m))); };
            }
            this.ba();
        };
        XamRadialGaugeView.prototype.aj = function (a, b) {
            if (this.h != null) {
                this.h.onMouseUp(a);
            }
        };
        XamRadialGaugeView.prototype.ak = function (a, b) {
            if (this.h != null) {
                this.h.onMouseMove(a, b);
            }
        };
        XamRadialGaugeView.prototype.al = function (a, b) {
            if (this.h != null) {
                this.h.onMouseDown(a);
            }
        };
        XamRadialGaugeView.prototype.ai = function () {
            if (this.g != null) {
                var a = this.g;
                a.onContactStarted = igniteuiAngularCore.delegateRemove(a.onContactStarted, igniteuiAngularCore.runOn(this, this.al));
                var b = this.g;
                b.onContactMoved = igniteuiAngularCore.delegateRemove(b.onContactMoved, igniteuiAngularCore.runOn(this, this.ak));
                var c = this.g;
                c.onContactCompleted = igniteuiAngularCore.delegateRemove(c.onContactCompleted, igniteuiAngularCore.runOn(this, this.aj));
                this.g.ap = null;
                this.g.aw();
            }
        };
        XamRadialGaugeView.prototype.bd = function (a, b) {
            if (b != null) {
                a.ao = b;
            }
            else {
                a.ao = this.bq;
            }
        };
        XamRadialGaugeView.prototype.be = function (a, b) {
            if (a == null) {
                return;
            }
            if (b == null) {
                return;
            }
            a.dataContext = b;
        };
        XamRadialGaugeView.prototype.bf = function () {
            this.ao();
            this.bk();
            this.bb();
        };
        XamRadialGaugeView.prototype.bk = function () {
            this.i = igniteuiAngularCore.FontUtil.getFont(this.ac);
            if (this.h.fv != null) {
                this.i = this.h.bp();
            }
            this.w = this.y(this.i);
            this.bp = new igniteuiAngularCore.Brush();
            this.bp._fill = this.ac.rootWrapper.getStyleProperty("color");
            if (this.k != null) {
                this.k.af(this.i);
            }
        };
        XamRadialGaugeView.prototype.ah = function () {
            this.ba();
        };
        XamRadialGaugeView.prototype.ba = function () {
            var a = this.h.mm.width;
            var b = this.h.mm.height;
            var c = Math.round(a * this.x);
            var d = Math.round(b * this.x);
            if (this.af != c || this.ae != d) {
                this.ad.setAttribute("width", c.toString());
                this.ad.setAttribute("height", d.toString());
                this.ad.setStyleProperty("width", a.toString() + "px");
                this.ad.setStyleProperty("height", b.toString() + "px");
                this.af = igniteuiAngularCore.truncate(Math.round(c));
                this.ae = igniteuiAngularCore.truncate(Math.round(d));
            }
            if (this.k.d && this.x != 1) {
                this.k.aa();
                this.k.ab(this.x, this.x);
            }
            this.k.l(this.h.mm.left, this.h.mm.top, this.h.mm.width, this.h.mm.height);
            this.k.t(this.b2);
            this.k.t(this.b6);
            if (this.p != null) {
                for (var e = 0; e < this.p.count; e++) {
                    this.k.t(this.p._inner[e]);
                }
            }
            for (var f = 0; f < this.q.count; f++) {
                var g = this.q._inner[f];
                this.k.af(g.dataContext);
                this.k.x(g);
            }
            for (var h = 0; h < this.v.count; h++) {
                var i = this.v._inner[h];
                this.k.af(i.dataContext);
                this.k.x(i);
            }
            for (var j = 0; j < this.u.count; j++) {
                var k = this.u._inner[j];
                this.k.af(k.dataContext);
                this.k.x(k);
            }
            for (var l = 0; l < this.t.count; l++) {
                var m = this.t._inner[l];
                this.k.af(m.dataContext);
                this.k.x(m);
            }
            for (var n = 0; n < this.r.count; n++) {
                this.k.t(this.r._inner[n]);
            }
            this.k.t(this.b7);
            if (this.b4.j != null) {
                this.k.aa();
                this.k.k(this.b4.j);
            }
            this.k.t(this.b4);
            if (this.b4.j != null) {
                this.k.z();
            }
            if (this.b3.j != null) {
                this.k.aa();
                this.k.k(this.b3.j);
            }
            this.k.t(this.b3);
            if (this.b3.j != null) {
                this.k.z();
            }
            this.k.t(this.b5);
            if (this.k.d && this.x != 1) {
                this.k.z();
            }
        };
        XamRadialGaugeView.prototype.y = function (a) {
            return igniteuiAngularCore.FontUtil.getCurrentFontHeight(this.ac, a);
        };
        XamRadialGaugeView.prototype.bc = function (a) {
            this.p = a;
        };
        XamRadialGaugeView.prototype.b8 = function () {
            return this.b2;
        };
        XamRadialGaugeView.prototype.cd = function () {
            return this.b7;
        };
        XamRadialGaugeView.prototype.cb = function () {
            return this.b5;
        };
        XamRadialGaugeView.prototype.ax = function () {
            this.aq();
            var a = Math.round(this.ac.rootWrapper.width());
            var b = Math.round(this.ac.rootWrapper.height());
            this.h.mm = new igniteuiAngularCore.Rect(0, 0, 0, a, b);
            if (this.g != null) {
                this.g.bm = this.h.mm;
            }
        };
        XamRadialGaugeView.prototype.j = function (a, b) {
            return igniteuiAngularCore.FontUtil.getFontInfo(this.ac, a, b);
        };
        XamRadialGaugeView.prototype.am = function (a) {
            var e_8, _a, e_9, _b, e_10, _c, e_11, _d, e_12, _e, e_13, _f;
            a.scalePath = new igniteuiAngularCore.PathVisualData(1, "Scale", this.b6);
            a.needlePath = new igniteuiAngularCore.PathVisualData(1, "Needle", this.b4);
            a.highlightNeedlePath = new igniteuiAngularCore.PathVisualData(1, "HighlightNeedle", this.b3);
            var b = this.b4.j.j._inner[0].j;
            a.needle.angle = b;
            if (this.b3 != null && igniteuiAngularCore.typeCast(igniteuiAngularCore.TransformGroup.$, this.b3.j) !== null) {
                var c = this.b3.j.j._inner[0].j;
                a.highlightNeedle.angle = c;
            }
            else {
                a.highlightNeedle.angle = NaN;
            }
            a.backingPath = new igniteuiAngularCore.PathVisualData(1, "Backing", this.b2);
            a.overlayPath = new igniteuiAngularCore.PathVisualData(1, "Overlay", this.b5);
            a.underlayPath = new igniteuiAngularCore.PathVisualData(1, "Underlay", this.b7);
            var d = this.i;
            try {
                for (var _g = tslib.__values(igniteuiAngularCore.fromEnum(this.q)), _h = _g.next(); !_h.done; _h = _g.next()) {
                    var e = _h.value;
                    if (e._visibility == 0) {
                        var f = e.dataContext;
                        var g = new ScaleLabelVisualData();
                        g.labelValue = e.al;
                        g.labelPosition = igniteuiAngularCore.PointData.b({ $type: igniteuiAngularCore.Point_$type, x: e.n, y: e.o });
                        g.labelSize = igniteuiAngularCore.SizeData.b(this.ch(e, f));
                        g.appearance = igniteuiAngularCore.AppearanceHelper.c(e, f);
                        a.scaleLabels.add(g);
                    }
                }
            }
            catch (e_8_1) {
                e_8 = { error: e_8_1 };
            }
            finally {
                try {
                    if (_h && !_h.done && (_a = _g.return))
                        _a.call(_g);
                }
                finally {
                    if (e_8)
                        throw e_8.error;
                }
            }
            try {
                for (var _j = tslib.__values(igniteuiAngularCore.fromEnum(this.v)), _k = _j.next(); !_k.done; _k = _j.next()) {
                    var h = _k.value;
                    if (h._visibility == 0) {
                        var i = h.dataContext;
                        var j = new ScaleLabelVisualData();
                        j.labelValue = h.al;
                        j.labelPosition = igniteuiAngularCore.PointData.b({ $type: igniteuiAngularCore.Point_$type, x: h.n, y: h.o });
                        j.labelSize = igniteuiAngularCore.SizeData.b(this.ch(h, i));
                        j.appearance = igniteuiAngularCore.AppearanceHelper.c(h, i);
                        a.titleLabels.add(j);
                    }
                }
            }
            catch (e_9_1) {
                e_9 = { error: e_9_1 };
            }
            finally {
                try {
                    if (_k && !_k.done && (_b = _j.return))
                        _b.call(_j);
                }
                finally {
                    if (e_9)
                        throw e_9.error;
                }
            }
            try {
                for (var _l = tslib.__values(igniteuiAngularCore.fromEnum(this.u)), _m = _l.next(); !_m.done; _m = _l.next()) {
                    var k = _m.value;
                    if (k._visibility == 0) {
                        var l = k.dataContext;
                        var m = new ScaleLabelVisualData();
                        m.labelValue = k.al;
                        m.labelPosition = igniteuiAngularCore.PointData.b({ $type: igniteuiAngularCore.Point_$type, x: k.n, y: k.o });
                        m.labelSize = igniteuiAngularCore.SizeData.b(this.ch(k, l));
                        m.appearance = igniteuiAngularCore.AppearanceHelper.c(k, l);
                        a.subtitleLabels.add(m);
                    }
                }
            }
            catch (e_10_1) {
                e_10 = { error: e_10_1 };
            }
            finally {
                try {
                    if (_m && !_m.done && (_c = _l.return))
                        _c.call(_l);
                }
                finally {
                    if (e_10)
                        throw e_10.error;
                }
            }
            try {
                for (var _o = tslib.__values(igniteuiAngularCore.fromEnum(this.t)), _p = _o.next(); !_p.done; _p = _o.next()) {
                    var n = _p.value;
                    if (n._visibility == 0) {
                        var o = n.dataContext;
                        var p = new ScaleLabelVisualData();
                        p.labelValue = n.al;
                        p.labelPosition = igniteuiAngularCore.PointData.b({ $type: igniteuiAngularCore.Point_$type, x: n.n, y: n.o });
                        p.labelSize = igniteuiAngularCore.SizeData.b(this.ch(n, o));
                        p.appearance = igniteuiAngularCore.AppearanceHelper.c(n, o);
                        a.highlightLabels.add(p);
                    }
                }
            }
            catch (e_11_1) {
                e_11 = { error: e_11_1 };
            }
            finally {
                try {
                    if (_p && !_p.done && (_d = _o.return))
                        _d.call(_o);
                }
                finally {
                    if (e_11)
                        throw e_11.error;
                }
            }
            try {
                for (var _q = tslib.__values(igniteuiAngularCore.fromEnum(this.r)), _r = _q.next(); !_r.done; _r = _q.next()) {
                    var q = _r.value;
                    if (q._visibility == 0) {
                        var r = new ScaleTickmarkVisualData();
                        r.tickPath = new igniteuiAngularCore.PathVisualData(1, "tickmarks", q);
                        a.scaleTickmarks.add(r);
                    }
                }
            }
            catch (e_12_1) {
                e_12 = { error: e_12_1 };
            }
            finally {
                try {
                    if (_r && !_r.done && (_e = _q.return))
                        _e.call(_q);
                }
                finally {
                    if (e_12)
                        throw e_12.error;
                }
            }
            try {
                for (var _s = tslib.__values(igniteuiAngularCore.fromEnum(this.s)), _t = _s.next(); !_t.done; _t = _s.next()) {
                    var s = _t.value;
                    if (s._visibility == 0) {
                        var t = new RangeVisualData();
                        var u = new igniteuiAngularCore.PathVisualData(1, "range", s);
                        t.rangePath = u;
                        a.ranges.add(t);
                    }
                }
            }
            catch (e_13_1) {
                e_13 = { error: e_13_1 };
            }
            finally {
                try {
                    if (_t && !_t.done && (_f = _s.return))
                        _f.call(_s);
                }
                finally {
                    if (e_13)
                        throw e_13.error;
                }
            }
        };
        XamRadialGaugeView.prototype.av = function (a, b, c) {
            var d = b;
            var e = c;
            if (!this.l) {
                switch (a) {
                    case XamRadialGauge.$$p[41]:
                        this.bu = e;
                        break;
                    case XamRadialGauge.$$p[44]:
                        this.bv = e;
                        break;
                    case XamRadialGauge.$$p[45]:
                        this.bw = e;
                        break;
                    case XamRadialGauge.$$p[47]:
                        this.bx = e;
                        break;
                    case XamRadialGauge.$$p[0]:
                        this.br = e;
                        break;
                    case XamRadialGauge.$$p[4]:
                        this.bs = e;
                        break;
                    case XamRadialGauge.$$p[62]:
                        this.by = e;
                        break;
                    case XamRadialGauge.$$p[78]:
                        this.b0 = e;
                        break;
                    case XamRadialGauge.$$p[34]:
                        this.bt = e;
                        break;
                }
                if (e == null) {
                    this.bj();
                }
            }
        };
        XamRadialGaugeView.prototype.a0 = function (a, b) {
            if (!this.l) {
                this.e = b;
                if (this.e == null) {
                    this.h.ak = this.c;
                }
            }
        };
        XamRadialGaugeView.prototype.a1 = function (a, b) {
            if (!this.l) {
                this.f = b;
                if (this.f == null) {
                    this.h.al = this.d;
                }
            }
        };
        XamRadialGaugeView.prototype.a5 = function () {
            this.x = this.h.db;
        };
        XamRadialGaugeView.$t = igniteuiAngularCore.markType(XamRadialGaugeView, 'XamRadialGaugeView');
        return XamRadialGaugeView;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */

    /*
    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.
    */
    /**
     * Represents event argument for FormatRadialGaugeLabel.
    */
    var IgxFormatRadialGaugeLabelEventArgs = /** @class */ /*@__PURE__*/ (function () {
        function IgxFormatRadialGaugeLabelEventArgs() {
            this._implementation = this.createImplementation();
            this._implementation.externalObject = this;
            this.onImplementationCreated();
        }
        IgxFormatRadialGaugeLabelEventArgs.prototype.createImplementation = function () {
            return new FormatRadialGaugeLabelEventArgs();
        };
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "i", {
            get: function () {
                return this._implementation;
            },
            enumerable: false,
            configurable: true
        });
        IgxFormatRadialGaugeLabelEventArgs.prototype.onImplementationCreated = function () {
        };
        IgxFormatRadialGaugeLabelEventArgs.prototype._provideImplementation = function (i) {
            this._implementation = i;
            this._implementation.externalObject = this;
            this.onImplementationCreated();
        };
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "actualMinimumValue", {
            get: function () {
                return this.i.actualMinimumValue;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "actualMaximumValue", {
            get: function () {
                return this.i.actualMaximumValue;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "startAngle", {
            get: function () {
                return this.i.startAngle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "endAngle", {
            get: function () {
                return this.i.endAngle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "angle", {
            get: function () {
                return this.i.angle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "value", {
            get: function () {
                return this.i.value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxFormatRadialGaugeLabelEventArgs.prototype, "label", {
            get: function () {
                return this.i.label;
            },
            set: function (value) {
                this.i.label = value;
            },
            enumerable: false,
            configurable: true
        });
        return IgxFormatRadialGaugeLabelEventArgs;
    }());

    /*
    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.
    */
    /**
     * Represents event argument for AlignRadialGaugeLabel.
    */
    var IgxAlignRadialGaugeLabelEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(IgxAlignRadialGaugeLabelEventArgs, _super);
        function IgxAlignRadialGaugeLabelEventArgs() {
            return _super.call(this) || this;
        }
        IgxAlignRadialGaugeLabelEventArgs.prototype.createImplementation = function () {
            return new AlignRadialGaugeLabelEventArgs();
        };
        Object.defineProperty(IgxAlignRadialGaugeLabelEventArgs.prototype, "i", {
            get: function () {
                return this._implementation;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignRadialGaugeLabelEventArgs.prototype, "width", {
            get: function () {
                return this.i.width;
            },
            set: function (value) {
                this.i.width = value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignRadialGaugeLabelEventArgs.prototype, "height", {
            get: function () {
                return this.i.height;
            },
            set: function (value) {
                this.i.height = value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignRadialGaugeLabelEventArgs.prototype, "offsetX", {
            get: function () {
                return this.i.offsetX;
            },
            set: function (value) {
                this.i.offsetX = value;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxAlignRadialGaugeLabelEventArgs.prototype, "offsetY", {
            get: function () {
                return this.i.offsetY;
            },
            set: function (value) {
                this.i.offsetY = value;
            },
            enumerable: false,
            configurable: true
        });
        return IgxAlignRadialGaugeLabelEventArgs;
    }(IgxFormatRadialGaugeLabelEventArgs));

    var defaultFont$2 = "Verdana, Arial, \"Segoe UI\", \"Myriad Pro\", sans-serif";
    var RadialGaugeStylingDefaults = {
        //"ui-radialgauge-needle": {
        //    "background-color": "#333"
        //},
        //"ui-radialgauge-needleCap": {
        //    "background-color": "#494949",
        //    "border-color": "#494949"
        //},
        "ui-radialgauge-backing": {
            "background-color": "#FFFFFF",
            "border-top-color": "#CCCCCC"
        },
        //"ui-radialgauge-scale": {
        //    "background-color": "#44ACD6",
        //    "border": "none"
        //},
        "ui-radialgauge-tick": {
            "background-color": "rgba(0, 0, 0, 0.35)",
            "border-top-color": "none"
        },
        "ui-radialgauge-minorTick": {
            "background-color": "rgba(0, 0, 0, 0.2)",
            "border-top-color": "none"
        },
        "ui-radialgauge-label": {
            "background-color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill,
            "borde-top-color": "none"
        },
        "ui-radialgauge-range-palette-1": {
            "background-color": "#005E9C",
            "border-top-color": "none"
        },
        "ui-radialgauge-range-palette-2": {
            "background-color": "#0078C8",
            "border-top-color": "none"
        },
        "ui-radialgauge-range-palette-3": {
            "background-color": "#0092F4",
            "border-top-color": "none"
        },
        "ui-radialgauge-range-palette-4": {
            "background-color": "#21A7FF",
            "border-top-color": "none"
        },
        "ui-radialgauge-range-palette-5": {
            "background-color": "#4FB9FF",
            "border-top-color": "none"
        },
        "ui-radialgauge": {
            "font-family": igniteuiAngularCore.FontDefaults.gaugesFontFamily,
            "font-size": igniteuiAngularCore.FontDefaults.gaugesFontSize + "px"
        },
        "font-family": igniteuiAngularCore.FontDefaults.gaugesFontFamily,
        "font-style": "normal",
        "font-weight": igniteuiAngularCore.FontDefaults.gaugesFontWeight,
        "font-size": igniteuiAngularCore.FontDefaults.gaugesFontSize + "px",
        "color": igniteuiAngularCore.FontDefaults.gaugesFontBrush.fill,
        "font-variant": "",
        "line-height": ""
    };

    /*
    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.
    */
    var IgxRadialGaugeRangeComponent = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeRangeComponent() {
            this._renderer = null;
            this.__p = null;
            this._hasUserValues = new Set();
            this._stylingContainer = null;
            this._stylingParent = null;
            this._inStyling = false;
            this._zoneRunner = null;
            if (this._styling) {
                igniteuiAngularCore.NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
            }
            this._implementation = this.createImplementation();
            this._implementation.externalObject = this;
            this.onImplementationCreated();
        }
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "i", {
            get: function () {
                return this._implementation;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeRangeComponent.prototype.onImplementationCreated = function () {
        };
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "rangeInternal", {
            get: function () {
                return this.i;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeRangeComponent.prototype.createImplementation = function () {
            return new XamRadialGaugeRange();
        };
        IgxRadialGaugeRangeComponent.prototype.ngOnInit = function () {
        };
        IgxRadialGaugeRangeComponent.prototype._provideRenderer = function (renderer) {
            this._renderer = renderer;
            this._zoneRunner = function (act) { return renderer._ngZone.run(act); };
        };
        IgxRadialGaugeRangeComponent._createFromInternal = function (internal) {
            if (!internal) {
                return null;
            }
            if (!internal.$type) {
                return null;
            }
            var name = internal.$type.name;
            var externalName = "Igx" + name + "Component";
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered(externalName)) {
                return null;
            }
            return igniteuiAngularCore.TypeRegistrar.create(externalName);
        };
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "name", {
            /**
         * Gets or sets the name of the range.
        */
            get: function () {
                return this.i.v;
            },
            set: function (v) {
                this.i.v = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "brush", {
            /**
             * Gets or sets the brush to use to fill the range.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ao);
            },
            set: function (v) {
                this.i.ao = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "outline", {
            /**
             * Gets or sets the outline to use when rendering the range.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ap);
            },
            set: function (v) {
                this.i.ap = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "startValue", {
            /**
             * Gets or sets the value at which the range starts along the scale.
            */
            get: function () {
                return this.i.o;
            },
            set: function (v) {
                this.i.o = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "endValue", {
            /**
             * Gets or sets the value at which the range ends along the scale.
            */
            get: function () {
                return this.i.j;
            },
            set: function (v) {
                this.i.j = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "innerStartExtent", {
            /**
             * Gets or sets the distance from the center of the gauge (from 0 to 1) at which to start rendering the inner sweep of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.l;
            },
            set: function (v) {
                this.i.l = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "innerEndExtent", {
            /**
             * Gets or sets the distance from the center of the gauge (from 0 to 1) at which to end rendering the inner sweep of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.k;
            },
            set: function (v) {
                this.i.k = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "outerStartExtent", {
            /**
             * Gets or sets the distance from the center of the gauge (from 0 to 1) at which to start rendering the outer sweep of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.n;
            },
            set: function (v) {
                this.i.n = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "outerEndExtent", {
            /**
             * Gets or sets the distance from the center of the gauge (from 0 to 1) at which to end rendering the outer sweep of the range.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.m;
            },
            set: function (v) {
                this.i.m = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "strokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering this range's outline.
            */
            get: function () {
                return this.i.p;
            },
            set: function (v) {
                this.i.p = +v;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeRangeComponent.prototype.findByName = function (name) {
            if (this.findEphemera) {
                if (name && name.indexOf("@@e:") == 0) {
                    return this.findEphemera(name);
                }
            }
            return null;
        };
        Object.defineProperty(IgxRadialGaugeRangeComponent.prototype, "hasUserValues", {
            get: function () {
                return this._hasUserValues;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeRangeComponent.prototype.__m = function (propertyName) {
            if (!this._inStyling) {
                this._hasUserValues.add(propertyName);
            }
        };
        IgxRadialGaugeRangeComponent.prototype._styling = function (container, component, parent) {
            if (this._inStyling) {
                return;
            }
            this._inStyling = true;
            this._stylingContainer = container;
            this._stylingParent = component;
            var genericPrefix = "";
            var typeName = this.i.$type.name;
            if (typeName.indexOf("Xam") === 0) {
                typeName = typeName.substring(3);
            }
            genericPrefix = igniteuiAngularCore.toSpinal("RadialGaugeRangeComponent");
            var additionalPrefixes = [];
            var prefix = igniteuiAngularCore.toSpinal(typeName);
            additionalPrefixes.push(prefix + "-");
            var b = this.i.$type.baseType;
            while (b && b.name != "Object" &&
                b.name != "Base" &&
                b.name != "Control" &&
                b.Name != "DependencyObject" &&
                b.Name != "FrameworkElement") {
                typeName = b.name;
                if (typeName.indexOf("Xam") === 0) {
                    typeName = typeName.substring(3);
                }
                var basePrefix = igniteuiAngularCore.toSpinal(typeName);
                additionalPrefixes.push(basePrefix + "-");
                b = b.baseType;
            }
            if (parent) {
                var parentTypeName = parent.i.$type.name;
                if (parentTypeName.indexOf("Xam") === 0) {
                    parentTypeName = parentTypeName.substring(3);
                }
                var parentPrefix = igniteuiAngularCore.toSpinal(parentTypeName);
                additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
                additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
            }
            igniteuiAngularCore.initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
            if (this._otherStyling) {
                this._otherStyling(container, component, parent);
            }
            this._inStyling = false;
        };
        IgxRadialGaugeRangeComponent.prototype._runInZone = function (act) {
            if (this._zoneRunner != null) {
                this._zoneRunner(act);
            }
            else {
                act();
            }
        };
        IgxRadialGaugeRangeComponent.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeComponent, deps: [], target: i0["ɵɵFactoryTarget"].Component });
        IgxRadialGaugeRangeComponent.ɵcmp = i0["ɵɵngDeclareComponent"]({ minVersion: "12.0.0", version: "12.2.17", type: IgxRadialGaugeRangeComponent, selector: "igx-radial-gauge-range", inputs: { name: "name", brush: "brush", outline: "outline", startValue: "startValue", endValue: "endValue", innerStartExtent: "innerStartExtent", innerEndExtent: "innerEndExtent", outerStartExtent: "outerStartExtent", outerEndExtent: "outerEndExtent", strokeThickness: "strokeThickness" }, providers: [], ngImport: i0, template: "", isInline: true });
        return IgxRadialGaugeRangeComponent;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'igx-radial-gauge-range',
                        template: "",
                        providers: []
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { name: [{
                    type: i0.Input
                }], brush: [{
                    type: i0.Input
                }], outline: [{
                    type: i0.Input
                }], startValue: [{
                    type: i0.Input
                }], endValue: [{
                    type: i0.Input
                }], innerStartExtent: [{
                    type: i0.Input
                }], innerEndExtent: [{
                    type: i0.Input
                }], outerStartExtent: [{
                    type: i0.Input
                }], outerEndExtent: [{
                    type: i0.Input
                }], strokeThickness: [{
                    type: i0.Input
                }] } });

    var IgxRadialGaugeRangeCollection = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(IgxRadialGaugeRangeCollection, _super);
        function IgxRadialGaugeRangeCollection(list) {
            var _this = _super.call(this) || this;
            if (!IgxRadialGaugeRangeComponent.$type) {
                IgxRadialGaugeRangeComponent.$type = igniteuiAngularCore.markType(IgxRadialGaugeRangeComponent, "IgxRadialGaugeRangeComponent");
            }
            if (list) {
                for (var i = 0; i < list.length; i++) {
                    _this.add(list[i]);
                }
            }
            return _this;
        }
        IgxRadialGaugeRangeCollection.prototype._createInnerColl = function () {
            if (!IgxRadialGaugeRangeComponent.$type) {
                IgxRadialGaugeRangeComponent.$type = igniteuiAngularCore.markType(IgxRadialGaugeRangeComponent, "IgxRadialGaugeRangeComponent");
            }
            var coll = new igniteuiAngularCore.SyncableObservableCollection$2(IgxRadialGaugeRangeComponent.$type, XamRadialGaugeRange.$type, 0);
            coll.compare = function (ext, int) {
                var comp = ext;
                if (comp._implementation) {
                    comp = comp._implementation;
                }
                if (comp.equals) {
                    return comp.equals(int);
                }
                return comp === int;
            };
            coll.createTo = function (ext) {
                return ext._implementation;
            };
            coll.createFrom = function (int) {
                var ext = int.externalObject;
                if (!ext) {
                    ext = IgxRadialGaugeRangeComponent._createFromInternal(int);
                    if (ext) {
                        if (!int.$type && ext._implementation.setNativeElement) {
                            ext._implementation.setNativeElement(int);
                        }
                        else {
                            ext._implementation = int;
                        }
                    }
                }
                return ext;
            };
            return coll;
        };
        return IgxRadialGaugeRangeCollection;
    }(igniteuiAngularCore.IgCollection));

    /*
    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.
    */
    /**
     * A radial gauge for displaying a single value on a defined scale.
    */
    var IgxRadialGaugeComponent = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeComponent(_renderer, _elRef, _ngZone, _componentFactoryResolver, _injector) {
            var _this = this;
            this._renderer = _renderer;
            this._elRef = _elRef;
            this._ngZone = _ngZone;
            this._componentFactoryResolver = _componentFactoryResolver;
            this._injector = _injector;
            /**
            * The ranges actually present in the chart. Do not directly modify this array.
            * This array's contents can be modified by causing Angular to reproject the child content.
            * Or adding and removing ranges from the manual ranges collection on the ranges property.
            */
            this.actualRanges = [];
            this._ranges = null;
            this._rangesAdapter = null;
            this._zoneRunner = null;
            this.__p = null;
            this._hasUserValues = new Set();
            this._stylingContainer = null;
            this._stylingParent = null;
            this._inStyling = false;
            this._alignTitle = null;
            this._alignSubtitle = null;
            this._alignHighlightLabel = null;
            this._formatTitle = null;
            this._formatSubtitle = null;
            this._formatHighlightLabel = null;
            this._formatLabel = null;
            this._alignLabel = null;
            this._valueChanged = null;
            this._highlightValueChanged = null;
            this._actualMinimumValueChange = null;
            this._actualMaximumValueChange = null;
            //super();
            if (this._styling) {
                igniteuiAngularCore.NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
            }
            this._zoneRunner = function (act) { return _this._ngZone.run(act); };
            this._implementation = this.createImplementation();
            this._container = _renderer.createElement("div");
            _renderer.appendChild(_elRef.element.nativeElement, this._container);
            _renderer.setStyle(this._container, "display", "block");
            _renderer.setStyle(this._container, "width", "100%");
            _renderer.setStyle(this._container, "height", "100%");
            var root;
            root = this._container;
            if (this._container.nativeElement != null) {
                root = this._container.nativeElement;
            }
            var ren = new igniteuiAngularCore.AngularRenderer(root, this._renderer, window.document, this._ngZone, true, RadialGaugeStylingDefaults);
            this._root = root;
            this._wrapper = ren;
            var gauge = this.i;
            this._gauge = gauge;
            this._rangesAdapter = new igniteuiAngularCore.CollectionAdapter([], this.i.ranges, this.actualRanges, function (c) { return c.i; }, function (i) {
                i._provideRenderer(_this._wrapper);
                if (_this._root && _this._root.parentElement) {
                    i._styling(_this._root, _this, _this);
                }
            }, function (i) { i._provideRenderer(null); });
            gauge.provideContainer(ren);
            ren.addSizeWatcher(function () {
                _this._gauge.containerResized();
            });
        }
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "height", {
            get: function () {
                return this._height;
            },
            set: function (value) {
                this._height = value;
                this._renderer.setStyle(this._elRef.element.nativeElement, "height", value);
                this._gauge.containerResized();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "width", {
            get: function () {
                return this._width;
            },
            set: function (value) {
                this._width = value;
                this._renderer.setStyle(this._elRef.element.nativeElement, "width", value);
                this._gauge.containerResized();
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "ranges", {
            /**
             * A collection or manually added axes for the chart.
            */
            get: function () {
                var _this = this;
                if (this._ranges === null) {
                    var coll = new IgxRadialGaugeRangeCollection();
                    var inner = coll._innerColl;
                    inner.addListener(function (sender, e) {
                        switch (e.action) {
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Add:
                                _this._rangesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Remove:
                                _this._rangesAdapter.removeManualItemAt(e.oldStartingIndex);
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Replace:
                                _this._rangesAdapter.removeManualItemAt(e.oldStartingIndex);
                                _this._rangesAdapter.insertManualItem(e.newStartingIndex, e.newItems.item(0));
                                break;
                            case igniteuiAngularCore.NotifyCollectionChangedAction.Reset:
                                _this._rangesAdapter.clearManualItems();
                                break;
                        }
                    });
                    this._ranges = coll;
                }
                return this._ranges;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeComponent.prototype.ngOnDestroy = function () {
            this._gauge.destroy();
            this._wrapper.destroy();
        };
        IgxRadialGaugeComponent.prototype.createImplementation = function () {
            return new XamRadialGauge();
        };
        IgxRadialGaugeComponent.prototype.ngAfterContentInit = function () {
            this._rangesAdapter.updateQuery(this.contentRanges);
        };
        IgxRadialGaugeComponent.prototype.ngAfterViewInit = function () {
            this.updateStyle();
            this.i.containerResized();
        };
        IgxRadialGaugeComponent.prototype.updateStyle = function () {
            this._styling(this._container, this);
            if (this.actualRanges && this.actualRanges.length > 0) {
                var currRange = this.actualRanges;
                for (var i = 0; i < currRange.length; i++) {
                    currRange[i]._styling(this._root, this, this);
                }
            }
        };
        IgxRadialGaugeComponent.prototype._runInZone = function (act) {
            if (this._zoneRunner != null) {
                this._zoneRunner(act);
            }
            else {
                act();
            }
        };
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "i", {
            /**
             * @hidden
             */
            get: function () {
                return this._implementation;
            } /**
                                         * @hidden
                                         */,
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeComponent._createFromInternal = function (internal) {
            if (!internal) {
                return null;
            }
            if (!internal.$type) {
                return null;
            }
            var name = internal.$type.name;
            var externalName = "Igx" + name + "Component";
            if (!igniteuiAngularCore.TypeRegistrar.isRegistered(externalName)) {
                return null;
            }
            return igniteuiAngularCore.TypeRegistrar.create(externalName);
        };
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "rangeBrushes", {
            /**
         * Gets or sets a collection of brushes to be used as the palette for gauge ranges.
        */
            get: function () {
                return igniteuiAngularCore.fromBrushCollection(this.i.ak);
            },
            set: function (v) {
                this.i.ak = igniteuiAngularCore.toBrushCollection(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "rangeOutlines", {
            /**
             * Gets or sets a collection of brushes to be used as the palette for gauge outlines.
            */
            get: function () {
                return igniteuiAngularCore.fromBrushCollection(this.i.al);
            },
            set: function (v) {
                this.i.al = igniteuiAngularCore.toBrushCollection(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "minimumValue", {
            /**
             * Gets or sets the minimum value of the scale.
            */
            get: function () {
                return this.i.dz;
            },
            set: function (v) {
                this.i.dz = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualMinimumValue", {
            /**
             * Gets the resolved minimum value of the scale.
            */
            get: function () {
                return this.i.da;
            },
            set: function (v) {
                this.i.da = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "maximumValue", {
            /**
             * Gets or sets the maximum value of the scale.
            */
            get: function () {
                return this.i.dx;
            },
            set: function (v) {
                this.i.dx = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualMaximumValue", {
            /**
             * Gets the resolved maximum value of the scale.
            */
            get: function () {
                return this.i.c9;
            },
            set: function (v) {
                this.i.c9 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "interval", {
            /**
             * Gets or sets the interval to use for the scale.
            */
            get: function () {
                return this.i.dt;
            },
            set: function (v) {
                this.i.dt = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "centerX", {
            /**
             * Gets or sets the x position of the center of the gauge with the value ranging from 0 to 1.
            */
            get: function () {
                return this.i.dl;
            },
            set: function (v) {
                this.i.dl = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "centerY", {
            /**
             * Gets or sets the y position of the center of the gauge with the value ranging from 0 to 1.
            */
            get: function () {
                return this.i.dm;
            },
            set: function (v) {
                this.i.dm = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "value", {
            /**
             * Gets or sets the value at which to point the needle of the gauge.
            */
            get: function () {
                return this.i.ff;
            },
            set: function (v) {
                this.i.ff = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightValue", {
            /**
             * Gets or sets the highlight value at which to point the secondary needle of the gauge.
            */
            get: function () {
                return this.i.dr;
            },
            set: function (v) {
                this.i.dr = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualHighlightValueOpacity", {
            /**
             * Gets the actual opacity of the primary needle while highlighting
            */
            get: function () {
                return this.i.c8;
            },
            set: function (v) {
                this.i.c8 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightValueOpacity", {
            /**
             * Gets or sets the opacity of the primary needle while highlighting
            */
            get: function () {
                return this.i.ds;
            },
            set: function (v) {
                this.i.ds = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualHighlightValueDisplayMode", {
            /**
             * Gets whether and how to display the highlighted value.
            */
            get: function () {
                return this.i.bu;
            },
            set: function (v) {
                this.i.bu = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.HighlightedValueDisplayMode_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightValueDisplayMode", {
            /**
             * Gets or sets whether and how to display the highlighted value.
            */
            get: function () {
                return this.i.bv;
            },
            set: function (v) {
                this.i.bv = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.HighlightedValueDisplayMode_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleStartAngle", {
            /**
             * Gets or sets the start angle for the scale in degrees.
            */
            get: function () {
                return this.i.ez;
            },
            set: function (v) {
                this.i.ez = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleEndAngle", {
            /**
             * Gets or sets the end angle for the scale in degrees.
            */
            get: function () {
                return this.i.eu;
            },
            set: function (v) {
                this.i.eu = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleSweepDirection", {
            /**
             * Gets or sets the direction in which the scale sweeps around the center from the start angle to end angle.
            */
            get: function () {
                return this.i.mi;
            },
            set: function (v) {
                this.i.mi = igniteuiAngularCore.ensureEnum(igniteuiAngularCore.SweepDirection_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "transitionDuration", {
            /**
             * Gets or sets the number of milliseconds over which changes to the gauge should be animated.
            */
            get: function () {
                return this.i.fg;
            },
            set: function (v) {
                this.i.fg = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleBrush", {
            /**
             * Gets or sets the brush to use when rendering the fill of the needle.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.ma);
            },
            set: function (v) {
                this.i.ma = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleOutline", {
            /**
             * Gets or sets the brush to use when rendering the outline of the needle.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.mb);
            },
            set: function (v) {
                this.i.mb = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleStartExtent", {
            /**
             * Gets or sets the extent (from -1 to 1) at which to start rendering the needle, measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.ei;
            },
            set: function (v) {
                this.i.ei = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleEndExtent", {
            /**
             * Gets or sets the extent (from -1 to 1) at which to end rendering the needle, measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.ea;
            },
            set: function (v) {
                this.i.ea = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleShape", {
            /**
             * Gets or sets the shape to use when rendering the needle from a number of options.
            */
            get: function () {
                return this.i.a5;
            },
            set: function (v) {
                this.i.a5 = igniteuiAngularCore.ensureEnum(RadialGaugeNeedleShape_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleStartWidthRatio", {
            /**
             * Gets or sets the width of the needle at its point using a value from (0 to 1). Note: Only some needle shapes respect this property.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.ej;
            },
            set: function (v) {
                this.i.ej = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleEndWidthRatio", {
            /**
             * Gets or sets the width of the needle at its point using a value from (0 to 1). Note: Only some needle shapes respect this property.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.eb;
            },
            set: function (v) {
                this.i.eb = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleBaseFeatureWidthRatio", {
            /**
             * Gets or sets the width of the needle at its feature which is closest to the base (e.g. a bulb) with a value from 0 to 1. Note: Only some needle shapes respect this property, namely: NeedleWithBulb, RectangleWithBulb, TrapezoidWithBulb, and TriangleWithBulb.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.d9;
            },
            set: function (v) {
                this.i.d9 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleBaseFeatureExtent", {
            /**
             * Gets or sets the extent of the feature which is closest to the base (e.g. a bulb) with a value from -1 to 1. Note: Only some needle shapes respect this property, namely: NeedleWithBulb, RectangleWithBulb, TrapezoidWithBulb, and TriangleWithBulb.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.d8;
            },
            set: function (v) {
                this.i.d8 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePointFeatureWidthRatio", {
            /**
             * Gets or sets the width of the needle at its feature which is closest to the point (e.g. the tapering point of a needle) with a value from 0 to 1. Note: Only some needle shapes respect this property.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.eh;
            },
            set: function (v) {
                this.i.eh = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePointFeatureExtent", {
            /**
             * Gets or sets the extent of the feature which is closest to the point (e.g. the tapering point of a needle) with a value from -1 to 1. Note: Only some needle shapes respect this property.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.eg;
            },
            set: function (v) {
                this.i.eg = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePivotWidthRatio", {
            /**
             * Gets or sets the width of the cap of the needle with a value from 0 to 1. Note: Will only take effect if you have a cap set on the needle.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.ef;
            },
            set: function (v) {
                this.i.ef = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePivotInnerWidthRatio", {
            /**
             * Gets or sets the width of the inner cutout section of the needle cap with a value from 0 to 1. Note: Will only take effect if you have a cap set on the needle that has a cutout section.
            */
            get: function () {
                return this.i.ec;
            },
            set: function (v) {
                this.i.ec = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePivotShape", {
            /**
             * Gets or sets the shape to use for the needle cap.
            */
            get: function () {
                return this.i.a6;
            },
            set: function (v) {
                this.i.a6 = igniteuiAngularCore.ensureEnum(RadialGaugePivotShape_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the scale, measured from the center of the gauge as a value from 0 to 1.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.e0;
            },
            set: function (v) {
                this.i.e0 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePivotBrush", {
            /**
             * Gets or sets the brush to use for filling the needle cap. Note: this only applies to certain cap shapes.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.mc);
            },
            set: function (v) {
                this.i.mc = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePivotOutline", {
            /**
             * Gets or sets the brush to use for the outlines of the needle cap.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.md);
            },
            set: function (v) {
                this.i.md = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needleStrokeThickness", {
            /**
             * Gets or sets the stroke thickness of the needle outline.
            */
            get: function () {
                return this.i.ek;
            },
            set: function (v) {
                this.i.ek = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "needlePivotStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use for the outline of the needle cap.
            */
            get: function () {
                return this.i.ed;
            },
            set: function (v) {
                this.i.ed = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the scale as a value from 0 to 1 measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.ev;
            },
            set: function (v) {
                this.i.ev = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "labelExtent", {
            /**
             * Gets or sets the position at which to put the labels as a value from 0 to 1, measured form the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.du;
            },
            set: function (v) {
                this.i.du = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "labelInterval", {
            /**
             * Gets or sets the interval to use for rendering labels. This defaults to be the same interval as the tickmarks on the scale.
            */
            get: function () {
                return this.i.dw;
            },
            set: function (v) {
                this.i.dw = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "tickStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the major tickmarks as a value from 0 to 1, measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.e7;
            },
            set: function (v) {
                this.i.e7 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "tickEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the major tickmarks as a value from 0 to 1, measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.e5;
            },
            set: function (v) {
                this.i.e5 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "tickStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering ticks.
            */
            get: function () {
                return this.i.e9;
            },
            set: function (v) {
                this.i.e9 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "tickBrush", {
            /**
             * Gets or sets the brush to use for the major tickmarks.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.mg);
            },
            set: function (v) {
                this.i.mg = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "fontBrush", {
            /**
             * Gets or sets the brush to use for the label font.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.l6);
            },
            set: function (v) {
                this.i.l6 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "minorTickStartExtent", {
            /**
             * Gets or sets the position at which to start rendering the minor tickmarks as a value from 0 to 1, measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.d4;
            },
            set: function (v) {
                this.i.d4 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "minorTickEndExtent", {
            /**
             * Gets or sets the position at which to stop rendering the minor tickmarks as a value from 0 to 1, measured from the center of the gauge.
             * Values further from zero than 1 can be used to make this extend further than the normal radius of the gauge.
            */
            get: function () {
                return this.i.d2;
            },
            set: function (v) {
                this.i.d2 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "minorTickStrokeThickness", {
            /**
             * Gets or sets the stroke thickness to use when rendering minor ticks.
            */
            get: function () {
                return this.i.d6;
            },
            set: function (v) {
                this.i.d6 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "minorTickBrush", {
            /**
             * Gets or sets the brush to use for the minor tickmarks.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.l9);
            },
            set: function (v) {
                this.i.l9 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "minorTickCount", {
            /**
             * Gets or sets the number of minor tickmarks to place between major tickmarks.
            */
            get: function () {
                return this.i.d1;
            },
            set: function (v) {
                this.i.d1 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleBrush", {
            /**
             * Gets or sets the brush to use to fill the background of the scale.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.me);
            },
            set: function (v) {
                this.i.me = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingBrush", {
            /**
             * Gets or sets the brush to use to fill the backing of the gauge.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.l4);
            },
            set: function (v) {
                this.i.l4 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingOutline", {
            /**
             * Gets or sets the brush to use for the outline of the backing.
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.l5);
            },
            set: function (v) {
                this.i.l5 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingStrokeThickness", {
            /**
             * Gets or sets the stroke thickness of the backing outline.
            */
            get: function () {
                return this.i.dj;
            },
            set: function (v) {
                this.i.dj = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingOuterExtent", {
            /**
             * Gets or sets the outer extent of the gauge backing.
            */
            get: function () {
                return this.i.dg;
            },
            set: function (v) {
                this.i.dg = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingOversweep", {
            /**
             * Gets or sets the over sweep angle to apply to the backing if it is displaying fitted (in degrees). Must be greater or equal to 0.
            */
            get: function () {
                return this.i.di;
            },
            set: function (v) {
                this.i.di = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleOversweep", {
            /**
             * Gets or sets the extra degrees of sweep to apply to the scale background. Must be greater or equal to 0.
            */
            get: function () {
                return this.i.ex;
            },
            set: function (v) {
                this.i.ex = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "scaleOversweepShape", {
            /**
             * Gets or sets the oversweep shape to use for the excess fill area for the scale.
            */
            get: function () {
                return this.i.a8;
            },
            set: function (v) {
                this.i.a8 = igniteuiAngularCore.ensureEnum(RadialGaugeScaleOversweepShape_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingCornerRadius", {
            /**
             * Gets or sets the corner rounding radius to use for the fitted scale backings.
            */
            get: function () {
                return this.i.dc;
            },
            set: function (v) {
                this.i.dc = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingInnerExtent", {
            /**
             * Gets or sets the inner extent of the gauge backing.
            */
            get: function () {
                return this.i.de;
            },
            set: function (v) {
                this.i.de = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "backingShape", {
            /**
             * Gets or sets the type of shape to use for the backing of the gauge.
            */
            get: function () {
                return this.i.a0;
            },
            set: function (v) {
                this.i.a0 = igniteuiAngularCore.ensureEnum(RadialGaugeBackingShape_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "radiusMultiplier", {
            /**
             * Gets or sets the multiplying factor to apply to the normal radius of the gauge.
             * The radius of the gauge is defined by the minimum of the width and height of the control divided by 2.0.
             * This introduces a multiplicative factor to that value.
            */
            get: function () {
                return this.i.ep;
            },
            set: function (v) {
                this.i.ep = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "duplicateLabelOmissionStrategy", {
            /**
             * Gets or sets the strategy to use for omitting labels if the first and last label have the same value.
            */
            get: function () {
                return this.i.a1;
            },
            set: function (v) {
                this.i.a1 = igniteuiAngularCore.ensureEnum(RadialGaugeDuplicateLabelOmissionStrategy_$type, v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "isNeedleDraggingEnabled", {
            /**
             * Gets or sets whether needle dragging is enabled or not.
            */
            get: function () {
                return this.i.cf;
            },
            set: function (v) {
                this.i.cf = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "isNeedleDraggingConstrained", {
            /**
             * Gets or sets whether the needle is constrained within the minimum and maximum value range during dragging.
            */
            get: function () {
                return this.i.ce;
            },
            set: function (v) {
                this.i.ce = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "isHighlightNeedleDraggingEnabled", {
            /**
             * Gets or sets whether needle dragging is enabled or not.
            */
            get: function () {
                return this.i.cd;
            },
            set: function (v) {
                this.i.cd = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "isHighlightNeedleDraggingConstrained", {
            /**
             * Gets or sets whether the needle is constrained within the minimum and maximum value range during dragging.
            */
            get: function () {
                return this.i.cc;
            },
            set: function (v) {
                this.i.cc = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "font", {
            /**
             * Gets or sets the font.
            */
            get: function () {
                return this.i.fv;
            },
            set: function (v) {
                this.i.fv = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "labelFormat", {
            /**
             * Gets or sets the label composite format used when creating label values.
            */
            get: function () {
                return this.i.gi;
            },
            set: function (v) {
                this.i.gi = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "labelFormatSpecifiers", {
            /**
             * Gets or sets the format specifiers to use with the LabelFormat string.
            */
            get: function () {
                return this.i.ah;
            },
            set: function (v) {
                if (v && !Array.isArray(v) && typeof (v) == "string") {
                    var re = /\s*(?:,|\s|$)\s*/gm;
                    v = v.split(re);
                }
                this.i.ah = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "animating", {
            /**
             * Gets a value indicating whether the radial gauge is currently animating.
            */
            get: function () {
                return this.i.b5;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "transitionProgress", {
            /**
             * Gets the transition progress of the animation when the control is animating.
            */
            get: function () {
                return this.i.fd;
            },
            set: function (v) {
                this.i.fd = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "pixelScalingRatio", {
            /**
             * Gets or sets the scaling value used to affect the pixel density of the control.
             * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
             * to appear blurry.
            */
            get: function () {
                return this.i.eo;
            },
            set: function (v) {
                this.i.eo = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualPixelScalingRatio", {
            /**
             * Gets the actual pixel scaling ratio used to affect the pixel density of the control.
             * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
             * to appear blurry.
            */
            get: function () {
                return this.i.db;
            },
            set: function (v) {
                this.i.db = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "opticalScalingRatio", {
            /**
             * Gets the optical scaling ratio calculated by dividing minimum gauge size by value of OpticalScalingSize property.
            */
            get: function () {
                return this.i.em;
            },
            set: function (v) {
                this.i.em = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "opticalScalingEnabled", {
            /**
             * Gets or sets the title uses optical scaling when the gauge is resized.
            */
            get: function () {
                return this.i.ck;
            },
            set: function (v) {
                this.i.ck = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "opticalScalingSize", {
            /**
             * Gets or sets the size at which labels have 100% optical scaling, e.g. labels will have larger fonts when gauge's size is larger
             * - labels will have 200% larger fonts when gauge's size is 1000 and this property is set to 500
             * - labels will have 50% smaller fonts when gauge's size is 250 and this property is set to 500
            */
            get: function () {
                return this.i.en;
            },
            set: function (v) {
                this.i.en = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleText", {
            /**
             * Gets or sets the text displayed in the title of the gauge.
            */
            get: function () {
                return this.i.id;
            },
            set: function (v) {
                this.i.id = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleText", {
            /**
             * Gets or sets the text displayed in the subtitle of the gauge.
            */
            get: function () {
                return this.i.hy;
            },
            set: function (v) {
                this.i.hy = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleAngle", {
            /**
             * Gets or sets the angle for the inner label in degrees.
            */
            get: function () {
                return this.i.fb;
            },
            set: function (v) {
                this.i.fb = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleAngle", {
            /**
             * Gets or sets the angle for the inner label in degrees.
            */
            get: function () {
                return this.i.e3;
            },
            set: function (v) {
                this.i.e3 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleExtent", {
            /**
             * Gets or sets the angle for the inner label in degrees.
            */
            get: function () {
                return this.i.fc;
            },
            set: function (v) {
                this.i.fc = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleExtent", {
            /**
             * Gets or sets the angle for the inner label in degrees.
            */
            get: function () {
                return this.i.e4;
            },
            set: function (v) {
                this.i.e4 = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleBrush", {
            /**
             * Gets or sets the brush to use for rendering inner unit text
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.mh);
            },
            set: function (v) {
                this.i.mh = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleBrush", {
            /**
             * Gets or sets the brush to use for rendering inner unit text
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.mf);
            },
            set: function (v) {
                this.i.mf = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleDisplaysValue", {
            /**
             * Gets or sets the title show values of the gauge.
            */
            get: function () {
                return this.i.co;
            },
            set: function (v) {
                this.i.co = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleDisplaysValue", {
            /**
             * Gets or sets the subtitle show values of the gauge.
            */
            get: function () {
                return this.i.cm;
            },
            set: function (v) {
                this.i.cm = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleSnapsToNeedlePivot", {
            /**
             * Gets or sets whether or not the title should snap angle position to needle pivot (opposite of needle pointer).
            */
            get: function () {
                return this.i.cp;
            },
            set: function (v) {
                this.i.cp = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleSnapsToNeedlePivot", {
            /**
             * Gets or sets whether or not the subtitle should snap angle position to needle pivot (opposite of needle pointer).
            */
            get: function () {
                return this.i.cn;
            },
            set: function (v) {
                this.i.cn = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleFormat", {
            /**
             * Gets or sets the subtitle format used when creating subtitle label.
            */
            get: function () {
                return this.i.hu;
            },
            set: function (v) {
                this.i.hu = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleFormatSpecifiers", {
            /**
             * Gets or sets the format specifiers to use with the SubtitleFormat string.
            */
            get: function () {
                return this.i.ai;
            },
            set: function (v) {
                if (v && !Array.isArray(v) && typeof (v) == "string") {
                    var re = /\s*(?:,|\s|$)\s*/gm;
                    v = v.split(re);
                }
                this.i.ai = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleFormat", {
            /**
             * Gets or sets the title format used when creating title label.
            */
            get: function () {
                return this.i.h9;
            },
            set: function (v) {
                this.i.h9 = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleFormatSpecifiers", {
            /**
             * Gets or sets the format specifiers to use with the TitleFormat string.
            */
            get: function () {
                return this.i.aj;
            },
            set: function (v) {
                if (v && !Array.isArray(v) && typeof (v) == "string") {
                    var re = /\s*(?:,|\s|$)\s*/gm;
                    v = v.split(re);
                }
                this.i.aj = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelText", {
            /**
             * Gets or sets the text displayed for the highlight label of the gauge.
            */
            get: function () {
                return this.i.f6;
            },
            set: function (v) {
                this.i.f6 = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelAngle", {
            /**
             * Gets or sets the angle for the highlight label in degrees.
            */
            get: function () {
                return this.i.dp;
            },
            set: function (v) {
                this.i.dp = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelExtent", {
            /**
             * Gets or sets the angle for the highlight label in degrees.
            */
            get: function () {
                return this.i.dq;
            },
            set: function (v) {
                this.i.dq = +v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelBrush", {
            /**
             * Gets or sets the brush to use for rendering highlight text
            */
            get: function () {
                return igniteuiAngularCore.brushToString(this.i.l8);
            },
            set: function (v) {
                this.i.l8 = igniteuiAngularCore.stringToBrush(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelDisplaysValue", {
            /**
             * Gets or sets the highlight label shows values of the gauge.
            */
            get: function () {
                return this.i.b7;
            },
            set: function (v) {
                this.i.b7 = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelSnapsToNeedlePivot", {
            /**
             * Gets or sets whether or not the highlight label should snap angle position to needle pivot (opposite of needle pointer).
            */
            get: function () {
                return this.i.b8;
            },
            set: function (v) {
                this.i.b8 = igniteuiAngularCore.ensureBool(v);
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelFormat", {
            /**
             * Gets or sets the format used when creating highlight label.
            */
            get: function () {
                return this.i.f2;
            },
            set: function (v) {
                this.i.f2 = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelFormatSpecifiers", {
            /**
             * Gets or sets the format specifiers to use with the HighlightLabelFormat string.
            */
            get: function () {
                return this.i.ag;
            },
            set: function (v) {
                if (v && !Array.isArray(v) && typeof (v) == "string") {
                    var re = /\s*(?:,|\s|$)\s*/gm;
                    v = v.split(re);
                }
                this.i.ag = v;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightLabelTextStyle", {
            /**
             * Gets or Sets the style to use for the units text.
            */
            get: function () {
                if (this.i.bq == null) {
                    return null;
                }
                return this.i.bq.fontString;
            },
            set: function (v) {
                var fi = new igniteuiAngularCore.FontInfo();
                fi.fontString = v;
                this.i.bq = fi;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "subtitleTextStyle", {
            /**
             * Gets or Sets the style to use for the units text.
            */
            get: function () {
                if (this.i.br == null) {
                    return null;
                }
                return this.i.br.fontString;
            },
            set: function (v) {
                var fi = new igniteuiAngularCore.FontInfo();
                fi.fontString = v;
                this.i.br = fi;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "titleTextStyle", {
            /**
             * Gets or Sets the style to use for the units text.
            */
            get: function () {
                if (this.i.bs == null) {
                    return null;
                }
                return this.i.bs.fontString;
            },
            set: function (v) {
                var fi = new igniteuiAngularCore.FontInfo();
                fi.fontString = v;
                this.i.bs = fi;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeComponent.prototype.findByName = function (name) {
            if (this.findEphemera) {
                if (name && name.indexOf("@@e:") == 0) {
                    return this.findEphemera(name);
                }
            }
            if (this.ranges != null && this.ranges.findByName && this.ranges.findByName(name)) {
                return this.ranges.findByName(name);
            }
            if (this.labelFormatSpecifiers != null && igniteuiAngularCore.arrayFindByName(this.labelFormatSpecifiers, name)) {
                return igniteuiAngularCore.arrayFindByName(this.labelFormatSpecifiers, name);
            }
            if (this.subtitleFormatSpecifiers != null && igniteuiAngularCore.arrayFindByName(this.subtitleFormatSpecifiers, name)) {
                return igniteuiAngularCore.arrayFindByName(this.subtitleFormatSpecifiers, name);
            }
            if (this.titleFormatSpecifiers != null && igniteuiAngularCore.arrayFindByName(this.titleFormatSpecifiers, name)) {
                return igniteuiAngularCore.arrayFindByName(this.titleFormatSpecifiers, name);
            }
            if (this.highlightLabelFormatSpecifiers != null && igniteuiAngularCore.arrayFindByName(this.highlightLabelFormatSpecifiers, name)) {
                return igniteuiAngularCore.arrayFindByName(this.highlightLabelFormatSpecifiers, name);
            }
            return null;
        };
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "hasUserValues", {
            get: function () {
                return this._hasUserValues;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeComponent.prototype.__m = function (propertyName) {
            if (!this._inStyling) {
                this._hasUserValues.add(propertyName);
            }
        };
        IgxRadialGaugeComponent.prototype._styling = function (container, component, parent) {
            if (this._inStyling) {
                return;
            }
            this._inStyling = true;
            this._stylingContainer = container;
            this._stylingParent = component;
            var genericPrefix = "";
            var typeName = this.i.$type.name;
            if (typeName.indexOf("Xam") === 0) {
                typeName = typeName.substring(3);
            }
            genericPrefix = igniteuiAngularCore.toSpinal("RadialGaugeComponent");
            var additionalPrefixes = [];
            var prefix = igniteuiAngularCore.toSpinal(typeName);
            additionalPrefixes.push(prefix + "-");
            var b = this.i.$type.baseType;
            while (b && b.name != "Object" &&
                b.name != "Base" &&
                b.name != "Control" &&
                b.Name != "DependencyObject" &&
                b.Name != "FrameworkElement") {
                typeName = b.name;
                if (typeName.indexOf("Xam") === 0) {
                    typeName = typeName.substring(3);
                }
                var basePrefix = igniteuiAngularCore.toSpinal(typeName);
                additionalPrefixes.push(basePrefix + "-");
                b = b.baseType;
            }
            if (parent) {
                var parentTypeName = parent.i.$type.name;
                if (parentTypeName.indexOf("Xam") === 0) {
                    parentTypeName = parentTypeName.substring(3);
                }
                var parentPrefix = igniteuiAngularCore.toSpinal(parentTypeName);
                additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
                additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
            }
            igniteuiAngularCore.initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
            if (this._otherStyling) {
                this._otherStyling(container, component, parent);
            }
            this._inStyling = false;
        };
        /**
     * Scales a value on the gauge's main scale to an angle around the center point of the gauge, in radians.

    * @param value  * The value to scale.
    */
        IgxRadialGaugeComponent.prototype.scaleValue = function (value) {
            var iv = this.i.e2(value);
            return (iv);
        };
        /**
         * Unscales a value from an angle in radians to the represented value along the main scale of the gauge.
        
        * @param angle  * The angle in radians to unscale to a value.
        */
        IgxRadialGaugeComponent.prototype.unscaleValue = function (angle) {
            var iv = this.i.fe(angle);
            return (iv);
        };
        /**
         * Gets the value for the main scale of the gauge for a given point within the bounds of the gauge.
        
        * @param point  * The point for which to retrieve the associated value.
        */
        IgxRadialGaugeComponent.prototype.getValueForPoint = function (point) {
            var iv = this.i.dn(igniteuiAngularCore.toPoint(point));
            return (iv);
        };
        IgxRadialGaugeComponent.prototype.getPointForValue = function (value, extent) {
            var iv = this.i.mk(value, extent);
            return igniteuiAngularCore.fromPoint(iv);
        };
        IgxRadialGaugeComponent.prototype.styleUpdated = function () {
            this.i.je();
        };
        IgxRadialGaugeComponent.prototype.needleContainsPoint = function (point, isFinger) {
            var iv = this.i.needleContainsPoint(igniteuiAngularCore.toPoint(point), isFinger);
            return (iv);
        };
        IgxRadialGaugeComponent.prototype.highlightNeedleContainsPoint = function (point, isFinger) {
            var iv = this.i.highlightNeedleContainsPoint(igniteuiAngularCore.toPoint(point), isFinger);
            return (iv);
        };
        /**
         * Called by the UI framework to provide a UI container for rendering this control.
        
        * @param container  * The UI container element.
        */
        IgxRadialGaugeComponent.prototype.provideContainer = function (container) {
            this.i.provideContainer(container);
        };
        IgxRadialGaugeComponent.prototype.containerResized = function () {
            this.i.containerResized();
        };
        /**
         * Use to force the radial gauge to finish any deferred work before printing or evaluating its visual.
         * This should only be called if the visual of the radial gauge needs to be synchronously saved or evaluated.
         * Calling this method too often will hinder the performance of the radial gauge.
        
        */
        IgxRadialGaugeComponent.prototype.flush = function () {
            this.i.ir();
        };
        /**
         * Returns visuals as a serialized string.
        
        */
        IgxRadialGaugeComponent.prototype.exportSerializedVisualData = function () {
            var iv = this.i.fu();
            return (iv);
        };
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "alignTitle", {
            /**
             * Event which is raised when a title of the gauge is aligned and styled.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the label will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
            */
            get: function () {
                var _this = this;
                if (this._alignTitle == null) {
                    this._alignTitle = new i0.EventEmitter();
                    this.i.alignTitle = igniteuiAngularCore.delegateCombine(this.i.alignTitle, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxAlignRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeAlignTitle) {
                                _this.beforeAlignTitle(_this, outerArgs);
                            }
                            _this._alignTitle.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._alignTitle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "alignSubtitle", {
            /**
             * Event which is raised when a subtitle of the gauge is aligned and styled.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the label will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
            */
            get: function () {
                var _this = this;
                if (this._alignSubtitle == null) {
                    this._alignSubtitle = new i0.EventEmitter();
                    this.i.alignSubtitle = igniteuiAngularCore.delegateCombine(this.i.alignSubtitle, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxAlignRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeAlignSubtitle) {
                                _this.beforeAlignSubtitle(_this, outerArgs);
                            }
                            _this._alignSubtitle.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._alignSubtitle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "alignHighlightLabel", {
            /**
             * Event which is raised when a highlight label of the gauge is aligned and styled.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the label will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
            */
            get: function () {
                var _this = this;
                if (this._alignHighlightLabel == null) {
                    this._alignHighlightLabel = new i0.EventEmitter();
                    this.i.alignHighlightLabel = igniteuiAngularCore.delegateCombine(this.i.alignHighlightLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxAlignRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeAlignHighlightLabel) {
                                _this.beforeAlignHighlightLabel(_this, outerArgs);
                            }
                            _this._alignHighlightLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._alignHighlightLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "formatTitle", {
            /**
             * Event which is raised when a title of the gauge is formatted.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the title will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the title.
             * Use ui.label to obtain the string value of the title.
            */
            get: function () {
                var _this = this;
                if (this._formatTitle == null) {
                    this._formatTitle = new i0.EventEmitter();
                    this.i.formatTitle = igniteuiAngularCore.delegateCombine(this.i.formatTitle, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxFormatRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeFormatTitle) {
                                _this.beforeFormatTitle(_this, outerArgs);
                            }
                            _this._formatTitle.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._formatTitle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "formatSubtitle", {
            /**
             * Event which is raised when a subtitle of the gauge is formatted.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the subtitle will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the subtitle.
             * Use ui.label to obtain the string value of the subtitle.
            */
            get: function () {
                var _this = this;
                if (this._formatSubtitle == null) {
                    this._formatSubtitle = new i0.EventEmitter();
                    this.i.formatSubtitle = igniteuiAngularCore.delegateCombine(this.i.formatSubtitle, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxFormatRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeFormatSubtitle) {
                                _this.beforeFormatSubtitle(_this, outerArgs);
                            }
                            _this._formatSubtitle.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._formatSubtitle;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "formatHighlightLabel", {
            /**
             * Event which is raised when a highlight label of the gauge is formatted.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the title will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the title.
             * Use ui.label to obtain the string value of the title.
            */
            get: function () {
                var _this = this;
                if (this._formatHighlightLabel == null) {
                    this._formatHighlightLabel = new i0.EventEmitter();
                    this.i.formatHighlightLabel = igniteuiAngularCore.delegateCombine(this.i.formatHighlightLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxFormatRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeFormatHighlightLabel) {
                                _this.beforeFormatHighlightLabel(_this, outerArgs);
                            }
                            _this._formatHighlightLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._formatHighlightLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "formatLabel", {
            /**
             * Event which is raised when a label of the gauge is formatted.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the label will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
            */
            get: function () {
                var _this = this;
                if (this._formatLabel == null) {
                    this._formatLabel = new i0.EventEmitter();
                    this.i.formatLabel = igniteuiAngularCore.delegateCombine(this.i.formatLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxFormatRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeFormatLabel) {
                                _this.beforeFormatLabel(_this, outerArgs);
                            }
                            _this._formatLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._formatLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "alignLabel", {
            /**
             * Event which is raised when a label of the gauge is aligned along the scale.
             * Function takes first argument null and second argument ui.
             * Use ui.owner to obtain reference to gauge widget.
             * Use ui.actualMinimumValue to obtain the minimum value of gauge scale.
             * Use ui.actualMaximumValue to obtain the maximum value of gauge scale.
             * Use ui.startAngle to obtain the starting angle of gauge scale.
             * Use ui.endAngle to obtain the ending angle of gauge scale.
             * Use ui.angle to obtain the angle on the gauge scale at which the label will be located.
             * Use ui.value to obtain the value on the gauge scale associated with the label.
             * Use ui.label to obtain the string value of the label.
             * Use ui.width to obtain the width of the label.
             * Use ui.height to obtain the height of the label.
             * Use ui.offsetX to obtain the X offset of the label on the gauge scale.
             * Use ui.offsetY to obtain the Y offset of the label on the gauge scale.
            */
            get: function () {
                var _this = this;
                if (this._alignLabel == null) {
                    this._alignLabel = new i0.EventEmitter();
                    this.i.alignLabel = igniteuiAngularCore.delegateCombine(this.i.alignLabel, function (o, e) {
                        _this._runInZone(function () {
                            var outerArgs = new IgxAlignRadialGaugeLabelEventArgs();
                            outerArgs._provideImplementation(e);
                            if (_this.beforeAlignLabel) {
                                _this.beforeAlignLabel(_this, outerArgs);
                            }
                            _this._alignLabel.emit({
                                sender: _this,
                                args: outerArgs
                            });
                        });
                    });
                }
                return this._alignLabel;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "valueChanged", {
            /**
             * Occurs when the Value property changes.
            */
            get: function () {
                var _this = this;
                if (this._valueChanged == null) {
                    this._valueChanged = new i0.EventEmitter();
                    this.i.valueChanged = igniteuiAngularCore.delegateCombine(this.i.valueChanged, function (o, e) {
                        var outerArgs = new igniteuiAngularCore.IgxDoubleValueChangedEventArgs();
                        outerArgs._provideImplementation(e);
                        if (_this.beforeValueChanged) {
                            _this.beforeValueChanged(_this, outerArgs);
                        }
                        _this._valueChanged.emit({
                            sender: _this,
                            args: outerArgs
                        });
                    });
                }
                return this._valueChanged;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "highlightValueChanged", {
            /**
             * Occurs when the Hightlight Value property changes.
            */
            get: function () {
                var _this = this;
                if (this._highlightValueChanged == null) {
                    this._highlightValueChanged = new i0.EventEmitter();
                    this.i.highlightValueChanged = igniteuiAngularCore.delegateCombine(this.i.highlightValueChanged, function (o, e) {
                        var outerArgs = new igniteuiAngularCore.IgxDoubleValueChangedEventArgs();
                        outerArgs._provideImplementation(e);
                        if (_this.beforeHighlightValueChanged) {
                            _this.beforeHighlightValueChanged(_this, outerArgs);
                        }
                        _this._highlightValueChanged.emit({
                            sender: _this,
                            args: outerArgs
                        });
                    });
                }
                return this._highlightValueChanged;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualMinimumValueChange", {
            get: function () {
                var _this = this;
                if (this._actualMinimumValueChange == null) {
                    this._actualMinimumValueChange = new i0.EventEmitter();
                    this.i.propertyChanged = igniteuiAngularCore.delegateCombine(this.i.propertyChanged, function (o, e) {
                        var iv = e;
                        var ext = _this.actualMinimumValue;
                        if (_this.beforeActualMinimumValueChange) {
                            _this.beforeActualMinimumValueChange(_this, ext);
                        }
                        _this._actualMinimumValueChange.emit(ext);
                    });
                }
                return this._actualMinimumValueChange;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(IgxRadialGaugeComponent.prototype, "actualMaximumValueChange", {
            get: function () {
                var _this = this;
                if (this._actualMaximumValueChange == null) {
                    this._actualMaximumValueChange = new i0.EventEmitter();
                    this.i.propertyChanged = igniteuiAngularCore.delegateCombine(this.i.propertyChanged, function (o, e) {
                        var iv = e;
                        var ext = _this.actualMaximumValue;
                        if (_this.beforeActualMaximumValueChange) {
                            _this.beforeActualMaximumValueChange(_this, ext);
                        }
                        _this._actualMaximumValueChange.emit(ext);
                    });
                }
                return this._actualMaximumValueChange;
            },
            enumerable: false,
            configurable: true
        });
        IgxRadialGaugeComponent.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0["ɵɵFactoryTarget"].Component });
        IgxRadialGaugeComponent.ɵcmp = i0["ɵɵngDeclareComponent"]({ minVersion: "12.0.0", version: "12.2.17", type: IgxRadialGaugeComponent, selector: "igx-radial-gauge", inputs: { height: "height", width: "width", rangeBrushes: "rangeBrushes", rangeOutlines: "rangeOutlines", minimumValue: "minimumValue", actualMinimumValue: "actualMinimumValue", maximumValue: "maximumValue", actualMaximumValue: "actualMaximumValue", interval: "interval", centerX: "centerX", centerY: "centerY", value: "value", highlightValue: "highlightValue", actualHighlightValueOpacity: "actualHighlightValueOpacity", highlightValueOpacity: "highlightValueOpacity", actualHighlightValueDisplayMode: "actualHighlightValueDisplayMode", highlightValueDisplayMode: "highlightValueDisplayMode", scaleStartAngle: "scaleStartAngle", scaleEndAngle: "scaleEndAngle", scaleSweepDirection: "scaleSweepDirection", transitionDuration: "transitionDuration", needleBrush: "needleBrush", needleOutline: "needleOutline", needleStartExtent: "needleStartExtent", needleEndExtent: "needleEndExtent", needleShape: "needleShape", needleStartWidthRatio: "needleStartWidthRatio", needleEndWidthRatio: "needleEndWidthRatio", needleBaseFeatureWidthRatio: "needleBaseFeatureWidthRatio", needleBaseFeatureExtent: "needleBaseFeatureExtent", needlePointFeatureWidthRatio: "needlePointFeatureWidthRatio", needlePointFeatureExtent: "needlePointFeatureExtent", needlePivotWidthRatio: "needlePivotWidthRatio", needlePivotInnerWidthRatio: "needlePivotInnerWidthRatio", needlePivotShape: "needlePivotShape", scaleStartExtent: "scaleStartExtent", needlePivotBrush: "needlePivotBrush", needlePivotOutline: "needlePivotOutline", needleStrokeThickness: "needleStrokeThickness", needlePivotStrokeThickness: "needlePivotStrokeThickness", scaleEndExtent: "scaleEndExtent", labelExtent: "labelExtent", labelInterval: "labelInterval", tickStartExtent: "tickStartExtent", tickEndExtent: "tickEndExtent", tickStrokeThickness: "tickStrokeThickness", tickBrush: "tickBrush", fontBrush: "fontBrush", minorTickStartExtent: "minorTickStartExtent", minorTickEndExtent: "minorTickEndExtent", minorTickStrokeThickness: "minorTickStrokeThickness", minorTickBrush: "minorTickBrush", minorTickCount: "minorTickCount", scaleBrush: "scaleBrush", backingBrush: "backingBrush", backingOutline: "backingOutline", backingStrokeThickness: "backingStrokeThickness", backingOuterExtent: "backingOuterExtent", backingOversweep: "backingOversweep", scaleOversweep: "scaleOversweep", scaleOversweepShape: "scaleOversweepShape", backingCornerRadius: "backingCornerRadius", backingInnerExtent: "backingInnerExtent", backingShape: "backingShape", radiusMultiplier: "radiusMultiplier", duplicateLabelOmissionStrategy: "duplicateLabelOmissionStrategy", isNeedleDraggingEnabled: "isNeedleDraggingEnabled", isNeedleDraggingConstrained: "isNeedleDraggingConstrained", isHighlightNeedleDraggingEnabled: "isHighlightNeedleDraggingEnabled", isHighlightNeedleDraggingConstrained: "isHighlightNeedleDraggingConstrained", font: "font", labelFormat: "labelFormat", labelFormatSpecifiers: "labelFormatSpecifiers", transitionProgress: "transitionProgress", pixelScalingRatio: "pixelScalingRatio", actualPixelScalingRatio: "actualPixelScalingRatio", opticalScalingRatio: "opticalScalingRatio", opticalScalingEnabled: "opticalScalingEnabled", opticalScalingSize: "opticalScalingSize", titleText: "titleText", subtitleText: "subtitleText", titleAngle: "titleAngle", subtitleAngle: "subtitleAngle", titleExtent: "titleExtent", subtitleExtent: "subtitleExtent", titleBrush: "titleBrush", subtitleBrush: "subtitleBrush", titleDisplaysValue: "titleDisplaysValue", subtitleDisplaysValue: "subtitleDisplaysValue", titleSnapsToNeedlePivot: "titleSnapsToNeedlePivot", subtitleSnapsToNeedlePivot: "subtitleSnapsToNeedlePivot", subtitleFormat: "subtitleFormat", subtitleFormatSpecifiers: "subtitleFormatSpecifiers", titleFormat: "titleFormat", titleFormatSpecifiers: "titleFormatSpecifiers", highlightLabelText: "highlightLabelText", highlightLabelAngle: "highlightLabelAngle", highlightLabelExtent: "highlightLabelExtent", highlightLabelBrush: "highlightLabelBrush", highlightLabelDisplaysValue: "highlightLabelDisplaysValue", highlightLabelSnapsToNeedlePivot: "highlightLabelSnapsToNeedlePivot", highlightLabelFormat: "highlightLabelFormat", highlightLabelFormatSpecifiers: "highlightLabelFormatSpecifiers", highlightLabelTextStyle: "highlightLabelTextStyle", subtitleTextStyle: "subtitleTextStyle", titleTextStyle: "titleTextStyle" }, outputs: { alignTitle: "alignTitle", alignSubtitle: "alignSubtitle", alignHighlightLabel: "alignHighlightLabel", formatTitle: "formatTitle", formatSubtitle: "formatSubtitle", formatHighlightLabel: "formatHighlightLabel", formatLabel: "formatLabel", alignLabel: "alignLabel", valueChanged: "valueChanged", highlightValueChanged: "highlightValueChanged", actualMinimumValueChange: "actualMinimumValueChange", actualMaximumValueChange: "actualMaximumValueChange" }, host: { classAttribute: "igx-radial-gauge ig-radial-gauge" }, providers: [], queries: [{ propertyName: "contentRanges", predicate: IgxRadialGaugeRangeComponent }], viewQueries: [{ propertyName: "_dynamicContent", first: true, predicate: ["dynamicContent"], descendants: true, read: i0.ViewContainerRef, static: true }], ngImport: i0, template: "<ng-container #dynamicContent></ng-container>", isInline: true, styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
        return IgxRadialGaugeComponent;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'igx-radial-gauge',
                        template: "<ng-container #dynamicContent></ng-container>",
                        changeDetection: i0.ChangeDetectionStrategy.OnPush,
                        providers: [],
                        host: { 'class': 'igx-radial-gauge ig-radial-gauge' },
                        styles: ["\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t}\n\t"]
                    }]
            }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.NgZone }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; }, propDecorators: { _dynamicContent: [{
                    type: i0.ViewChild,
                    args: ["dynamicContent", { read: i0.ViewContainerRef, static: true }]
                }], height: [{
                    type: i0.Input
                }], width: [{
                    type: i0.Input
                }], contentRanges: [{
                    type: i0.ContentChildren,
                    args: [IgxRadialGaugeRangeComponent]
                }], rangeBrushes: [{
                    type: i0.Input
                }], rangeOutlines: [{
                    type: i0.Input
                }], minimumValue: [{
                    type: i0.Input
                }], actualMinimumValue: [{
                    type: i0.Input
                }], maximumValue: [{
                    type: i0.Input
                }], actualMaximumValue: [{
                    type: i0.Input
                }], interval: [{
                    type: i0.Input
                }], centerX: [{
                    type: i0.Input
                }], centerY: [{
                    type: i0.Input
                }], value: [{
                    type: i0.Input
                }], highlightValue: [{
                    type: i0.Input
                }], actualHighlightValueOpacity: [{
                    type: i0.Input
                }], highlightValueOpacity: [{
                    type: i0.Input
                }], actualHighlightValueDisplayMode: [{
                    type: i0.Input
                }], highlightValueDisplayMode: [{
                    type: i0.Input
                }], scaleStartAngle: [{
                    type: i0.Input
                }], scaleEndAngle: [{
                    type: i0.Input
                }], scaleSweepDirection: [{
                    type: i0.Input
                }], transitionDuration: [{
                    type: i0.Input
                }], needleBrush: [{
                    type: i0.Input
                }], needleOutline: [{
                    type: i0.Input
                }], needleStartExtent: [{
                    type: i0.Input
                }], needleEndExtent: [{
                    type: i0.Input
                }], needleShape: [{
                    type: i0.Input
                }], needleStartWidthRatio: [{
                    type: i0.Input
                }], needleEndWidthRatio: [{
                    type: i0.Input
                }], needleBaseFeatureWidthRatio: [{
                    type: i0.Input
                }], needleBaseFeatureExtent: [{
                    type: i0.Input
                }], needlePointFeatureWidthRatio: [{
                    type: i0.Input
                }], needlePointFeatureExtent: [{
                    type: i0.Input
                }], needlePivotWidthRatio: [{
                    type: i0.Input
                }], needlePivotInnerWidthRatio: [{
                    type: i0.Input
                }], needlePivotShape: [{
                    type: i0.Input
                }], scaleStartExtent: [{
                    type: i0.Input
                }], needlePivotBrush: [{
                    type: i0.Input
                }], needlePivotOutline: [{
                    type: i0.Input
                }], needleStrokeThickness: [{
                    type: i0.Input
                }], needlePivotStrokeThickness: [{
                    type: i0.Input
                }], scaleEndExtent: [{
                    type: i0.Input
                }], labelExtent: [{
                    type: i0.Input
                }], labelInterval: [{
                    type: i0.Input
                }], tickStartExtent: [{
                    type: i0.Input
                }], tickEndExtent: [{
                    type: i0.Input
                }], tickStrokeThickness: [{
                    type: i0.Input
                }], tickBrush: [{
                    type: i0.Input
                }], fontBrush: [{
                    type: i0.Input
                }], minorTickStartExtent: [{
                    type: i0.Input
                }], minorTickEndExtent: [{
                    type: i0.Input
                }], minorTickStrokeThickness: [{
                    type: i0.Input
                }], minorTickBrush: [{
                    type: i0.Input
                }], minorTickCount: [{
                    type: i0.Input
                }], scaleBrush: [{
                    type: i0.Input
                }], backingBrush: [{
                    type: i0.Input
                }], backingOutline: [{
                    type: i0.Input
                }], backingStrokeThickness: [{
                    type: i0.Input
                }], backingOuterExtent: [{
                    type: i0.Input
                }], backingOversweep: [{
                    type: i0.Input
                }], scaleOversweep: [{
                    type: i0.Input
                }], scaleOversweepShape: [{
                    type: i0.Input
                }], backingCornerRadius: [{
                    type: i0.Input
                }], backingInnerExtent: [{
                    type: i0.Input
                }], backingShape: [{
                    type: i0.Input
                }], radiusMultiplier: [{
                    type: i0.Input
                }], duplicateLabelOmissionStrategy: [{
                    type: i0.Input
                }], isNeedleDraggingEnabled: [{
                    type: i0.Input
                }], isNeedleDraggingConstrained: [{
                    type: i0.Input
                }], isHighlightNeedleDraggingEnabled: [{
                    type: i0.Input
                }], isHighlightNeedleDraggingConstrained: [{
                    type: i0.Input
                }], font: [{
                    type: i0.Input
                }], labelFormat: [{
                    type: i0.Input
                }], labelFormatSpecifiers: [{
                    type: i0.Input
                }], transitionProgress: [{
                    type: i0.Input
                }], pixelScalingRatio: [{
                    type: i0.Input
                }], actualPixelScalingRatio: [{
                    type: i0.Input
                }], opticalScalingRatio: [{
                    type: i0.Input
                }], opticalScalingEnabled: [{
                    type: i0.Input
                }], opticalScalingSize: [{
                    type: i0.Input
                }], titleText: [{
                    type: i0.Input
                }], subtitleText: [{
                    type: i0.Input
                }], titleAngle: [{
                    type: i0.Input
                }], subtitleAngle: [{
                    type: i0.Input
                }], titleExtent: [{
                    type: i0.Input
                }], subtitleExtent: [{
                    type: i0.Input
                }], titleBrush: [{
                    type: i0.Input
                }], subtitleBrush: [{
                    type: i0.Input
                }], titleDisplaysValue: [{
                    type: i0.Input
                }], subtitleDisplaysValue: [{
                    type: i0.Input
                }], titleSnapsToNeedlePivot: [{
                    type: i0.Input
                }], subtitleSnapsToNeedlePivot: [{
                    type: i0.Input
                }], subtitleFormat: [{
                    type: i0.Input
                }], subtitleFormatSpecifiers: [{
                    type: i0.Input
                }], titleFormat: [{
                    type: i0.Input
                }], titleFormatSpecifiers: [{
                    type: i0.Input
                }], highlightLabelText: [{
                    type: i0.Input
                }], highlightLabelAngle: [{
                    type: i0.Input
                }], highlightLabelExtent: [{
                    type: i0.Input
                }], highlightLabelBrush: [{
                    type: i0.Input
                }], highlightLabelDisplaysValue: [{
                    type: i0.Input
                }], highlightLabelSnapsToNeedlePivot: [{
                    type: i0.Input
                }], highlightLabelFormat: [{
                    type: i0.Input
                }], highlightLabelFormatSpecifiers: [{
                    type: i0.Input
                }], highlightLabelTextStyle: [{
                    type: i0.Input
                }], subtitleTextStyle: [{
                    type: i0.Input
                }], titleTextStyle: [{
                    type: i0.Input
                }], alignTitle: [{
                    type: i0.Output
                }], alignSubtitle: [{
                    type: i0.Output
                }], alignHighlightLabel: [{
                    type: i0.Output
                }], formatTitle: [{
                    type: i0.Output
                }], formatSubtitle: [{
                    type: i0.Output
                }], formatHighlightLabel: [{
                    type: i0.Output
                }], formatLabel: [{
                    type: i0.Output
                }], alignLabel: [{
                    type: i0.Output
                }], valueChanged: [{
                    type: i0.Output
                }], highlightValueChanged: [{
                    type: i0.Output
                }], actualMinimumValueChange: [{
                    type: i0.Output
                }], actualMaximumValueChange: [{
                    type: i0.Output
                }] } });

    /*
    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.
    */
    var IgxRadialGaugeRangeModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeRangeModule() {
        }
        IgxRadialGaugeRangeModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxRadialGaugeRangeModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeModule, declarations: [IgxRadialGaugeRangeComponent], imports: [common.CommonModule], exports: [IgxRadialGaugeRangeComponent] });
        IgxRadialGaugeRangeModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeModule, imports: [[common.CommonModule,
                ]] });
        return IgxRadialGaugeRangeModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [IgxRadialGaugeRangeComponent],
                        exports: [IgxRadialGaugeRangeComponent
                        ],
                        imports: [common.CommonModule,
                        ],
                        entryComponents: []
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxRadialGaugeRangeDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeRangeDynamicModule() {
            igniteuiAngularCore.TypeRegistrar.registerCons('IgxRadialGaugeRangeComponent', IgxRadialGaugeRangeComponent);
        }
        IgxRadialGaugeRangeDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxRadialGaugeRangeDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeDynamicModule, imports: [common.CommonModule, IgxRadialGaugeRangeModule], exports: [IgxRadialGaugeRangeModule] });
        IgxRadialGaugeRangeDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeDynamicModule, imports: [[common.CommonModule, IgxRadialGaugeRangeModule
                ], IgxRadialGaugeRangeModule] });
        return IgxRadialGaugeRangeDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeRangeDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxRadialGaugeRangeModule
                        ],
                        imports: [common.CommonModule, IgxRadialGaugeRangeModule
                        ],
                        entryComponents: [IgxRadialGaugeRangeComponent]
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxRadialGaugeCoreModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeCoreModule() {
        }
        IgxRadialGaugeCoreModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxRadialGaugeCoreModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreModule, declarations: [IgxRadialGaugeComponent], imports: [common.CommonModule, IgxRadialGaugeRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule], exports: [IgxRadialGaugeComponent,
                IgxRadialGaugeRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule] });
        IgxRadialGaugeCoreModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreModule, imports: [[common.CommonModule, IgxRadialGaugeRangeModule,
                    igniteuiAngularCore.IgxNumberFormatSpecifierModule
                ], IgxRadialGaugeRangeModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierModule] });
        return IgxRadialGaugeCoreModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [IgxRadialGaugeComponent],
                        exports: [IgxRadialGaugeComponent,
                            IgxRadialGaugeRangeModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierModule
                        ],
                        imports: [common.CommonModule, IgxRadialGaugeRangeModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierModule
                        ],
                        entryComponents: []
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxRadialGaugeCoreDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeCoreDynamicModule() {
            igniteuiAngularCore.TypeRegistrar.registerCons('IgxRadialGaugeComponent', IgxRadialGaugeComponent);
        }
        IgxRadialGaugeCoreDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxRadialGaugeCoreDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreDynamicModule, imports: [common.CommonModule, IgxRadialGaugeRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxRadialGaugeCoreModule], exports: [IgxRadialGaugeRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxRadialGaugeCoreModule] });
        IgxRadialGaugeCoreDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreDynamicModule, imports: [[common.CommonModule, IgxRadialGaugeRangeDynamicModule,
                    igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                    IgxRadialGaugeCoreModule
                ], IgxRadialGaugeRangeDynamicModule,
                igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                IgxRadialGaugeCoreModule] });
        return IgxRadialGaugeCoreDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeCoreDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxRadialGaugeRangeDynamicModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                            IgxRadialGaugeCoreModule
                        ],
                        imports: [common.CommonModule, IgxRadialGaugeRangeDynamicModule,
                            igniteuiAngularCore.IgxNumberFormatSpecifierDynamicModule,
                            IgxRadialGaugeCoreModule
                        ],
                        entryComponents: [IgxRadialGaugeComponent]
                    }]
            }], ctorParameters: function () { return []; } });

    /*
    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.
    */
    var IgxRadialGaugeModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeModule() {
        }
        IgxRadialGaugeModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxRadialGaugeModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeModule, imports: [common.CommonModule, IgxRadialGaugeCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule], exports: [IgxRadialGaugeCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule] });
        IgxRadialGaugeModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeModule, imports: [[common.CommonModule, IgxRadialGaugeCoreModule,
                    igniteuiAngularCore.IgxDVInteractivityModule
                ], IgxRadialGaugeCoreModule,
                igniteuiAngularCore.IgxDVInteractivityModule] });
        return IgxRadialGaugeModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxRadialGaugeCoreModule,
                            igniteuiAngularCore.IgxDVInteractivityModule
                        ],
                        imports: [common.CommonModule, IgxRadialGaugeCoreModule,
                            igniteuiAngularCore.IgxDVInteractivityModule
                        ],
                        entryComponents: []
                    }]
            }] });

    /*
    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.
    */
    var IgxRadialGaugeDynamicModule = /** @class */ /*@__PURE__*/ (function () {
        function IgxRadialGaugeDynamicModule() {
        }
        IgxRadialGaugeDynamicModule.ɵfac = i0["ɵɵngDeclareFactory"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeDynamicModule, deps: [], target: i0["ɵɵFactoryTarget"].NgModule });
        IgxRadialGaugeDynamicModule.ɵmod = i0["ɵɵngDeclareNgModule"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeDynamicModule, imports: [common.CommonModule, IgxRadialGaugeCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxRadialGaugeModule], exports: [IgxRadialGaugeCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxRadialGaugeModule] });
        IgxRadialGaugeDynamicModule.ɵinj = i0["ɵɵngDeclareInjector"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeDynamicModule, imports: [[common.CommonModule, IgxRadialGaugeCoreDynamicModule,
                    igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                    IgxRadialGaugeModule
                ], IgxRadialGaugeCoreDynamicModule,
                igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                IgxRadialGaugeModule] });
        return IgxRadialGaugeDynamicModule;
    }());
    i0["ɵɵngDeclareClassMetadata"]({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: IgxRadialGaugeDynamicModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: [],
                        exports: [IgxRadialGaugeCoreDynamicModule,
                            igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                            IgxRadialGaugeModule
                        ],
                        imports: [common.CommonModule, IgxRadialGaugeCoreDynamicModule,
                            igniteuiAngularCore.IgxDVInteractivityDynamicModule,
                            IgxRadialGaugeModule
                        ],
                        entryComponents: []
                    }]
            }] });

    /*
    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.
    */

    /*
    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.
    */
    /**
     * @hidden
     */
    var CommonData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(CommonData, _super);
        function CommonData() {
            var _this = _super !== null && _super.apply(this, arguments) || this;
            _this._borderBrush = null;
            _this._borderThickness = null;
            return _this;
        }
        Object.defineProperty(CommonData.prototype, "borderBrush", {
            get: function () {
                return this._borderBrush;
            },
            set: function (a) {
                this._borderBrush = a;
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(CommonData.prototype, "borderThickness", {
            get: function () {
                return this._borderThickness;
            },
            set: function (a) {
                this._borderThickness = a;
            },
            enumerable: false,
            configurable: true
        });
        CommonData.$t = igniteuiAngularCore.markType(CommonData, 'CommonData');
        return CommonData;
    }(igniteuiAngularCore.Base));

    /*
    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.
    */
    /**
     * @hidden
     */
    var ScaleVisualData = /** @class */ /*@__PURE__*/ (function (_super) {
        tslib.__extends(ScaleVisualData, _super);
        function ScaleVisualData() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        ScaleVisualData.$t = igniteuiAngularCore.markType(ScaleVisualData, 'ScaleVisualData');
        return ScaleVisualData;
    }(igniteuiAngularCore.Base));

    /**
     * Generated bundle index. Do not edit.
     */

    exports.AlignLinearGraphLabelEventArgs = AlignLinearGraphLabelEventArgs;
    exports.AlignRadialGaugeLabelEventArgs = AlignRadialGaugeLabelEventArgs;
    exports.BackingFrame = BackingFrame;
    exports.BulletGraphFrame = BulletGraphFrame;
    exports.BulletGraphScaleFrame = BulletGraphScaleFrame;
    exports.BulletGraphStylingDefaults = BulletGraphStylingDefaults;
    exports.BulletGraphTargetValueVisualData = BulletGraphTargetValueVisualData;
    exports.BulletGraphVisualData = BulletGraphVisualData;
    exports.CommonData = CommonData;
    exports.FormatLinearGraphLabelEventArgs = FormatLinearGraphLabelEventArgs;
    exports.FormatRadialGaugeLabelEventArgs = FormatRadialGaugeLabelEventArgs;
    exports.GaugeVisualData = GaugeVisualData;
    exports.IgxAlignLinearGraphLabelEventArgs = IgxAlignLinearGraphLabelEventArgs;
    exports.IgxAlignRadialGaugeLabelEventArgs = IgxAlignRadialGaugeLabelEventArgs;
    exports.IgxBulletGraphComponent = IgxBulletGraphComponent;
    exports.IgxBulletGraphCoreDynamicModule = IgxBulletGraphCoreDynamicModule;
    exports.IgxBulletGraphCoreModule = IgxBulletGraphCoreModule;
    exports.IgxBulletGraphDynamicModule = IgxBulletGraphDynamicModule;
    exports.IgxBulletGraphModule = IgxBulletGraphModule;
    exports.IgxFormatLinearGraphLabelEventArgs = IgxFormatLinearGraphLabelEventArgs;
    exports.IgxFormatRadialGaugeLabelEventArgs = IgxFormatRadialGaugeLabelEventArgs;
    exports.IgxLinearGaugeComponent = IgxLinearGaugeComponent;
    exports.IgxLinearGaugeCoreDynamicModule = IgxLinearGaugeCoreDynamicModule;
    exports.IgxLinearGaugeCoreModule = IgxLinearGaugeCoreModule;
    exports.IgxLinearGaugeDynamicModule = IgxLinearGaugeDynamicModule;
    exports.IgxLinearGaugeModule = IgxLinearGaugeModule;
    exports.IgxLinearGraphRangeCollection = IgxLinearGraphRangeCollection;
    exports.IgxLinearGraphRangeComponent = IgxLinearGraphRangeComponent;
    exports.IgxLinearGraphRangeDynamicModule = IgxLinearGraphRangeDynamicModule;
    exports.IgxLinearGraphRangeModule = IgxLinearGraphRangeModule;
    exports.IgxRadialGaugeComponent = IgxRadialGaugeComponent;
    exports.IgxRadialGaugeCoreDynamicModule = IgxRadialGaugeCoreDynamicModule;
    exports.IgxRadialGaugeCoreModule = IgxRadialGaugeCoreModule;
    exports.IgxRadialGaugeDynamicModule = IgxRadialGaugeDynamicModule;
    exports.IgxRadialGaugeModule = IgxRadialGaugeModule;
    exports.IgxRadialGaugeRangeCollection = IgxRadialGaugeRangeCollection;
    exports.IgxRadialGaugeRangeComponent = IgxRadialGaugeRangeComponent;
    exports.IgxRadialGaugeRangeDynamicModule = IgxRadialGaugeRangeDynamicModule;
    exports.IgxRadialGaugeRangeModule = IgxRadialGaugeRangeModule;
    exports.LinearGaugeFrame = LinearGaugeFrame;
    exports.LinearGaugeScaleFrame = LinearGaugeScaleFrame;
    exports.LinearGaugeStylingDefaults = LinearGaugeStylingDefaults;
    exports.LinearGaugeVisualData = LinearGaugeVisualData;
    exports.LinearGraphBackingFrame = LinearGraphBackingFrame;
    exports.LinearGraphFrame = LinearGraphFrame;
    exports.LinearGraphNeedleFrame = LinearGraphNeedleFrame;
    exports.LinearGraphNeedleParameters = LinearGraphNeedleParameters;
    exports.LinearGraphNeedlePreparer = LinearGraphNeedlePreparer;
    exports.LinearGraphNeedleShape = LinearGraphNeedleShape;
    exports.LinearGraphNeedleShape_$type = LinearGraphNeedleShape_$type;
    exports.LinearGraphRangeCollection = LinearGraphRangeCollection;
    exports.LinearGraphRangeVisualData = LinearGraphRangeVisualData;
    exports.LinearGraphRangeVisualDataList = LinearGraphRangeVisualDataList;
    exports.LinearGraphRectFrame = LinearGraphRectFrame;
    exports.LinearGraphScaleFrame = LinearGraphScaleFrame;
    exports.LinearGraphScaleLabelVisualData = LinearGraphScaleLabelVisualData;
    exports.LinearGraphScaleLabelVisualDataList = LinearGraphScaleLabelVisualDataList;
    exports.LinearGraphScaleTickmarkVisualData = LinearGraphScaleTickmarkVisualData;
    exports.LinearGraphScaleTickmarkVisualDataList = LinearGraphScaleTickmarkVisualDataList;
    exports.LinearGraphScaler = LinearGraphScaler;
    exports.LinearGraphToolTipVisualData = LinearGraphToolTipVisualData;
    exports.LinearGraphTooltipDataContext = LinearGraphTooltipDataContext;
    exports.LinearGraphVisualData = LinearGraphVisualData;
    exports.LinearNeedleVisualData = LinearNeedleVisualData;
    exports.LinearNeedleVisualDataList = LinearNeedleVisualDataList;
    exports.LinearScaleOrientation = LinearScaleOrientation;
    exports.LinearScaleOrientation_$type = LinearScaleOrientation_$type;
    exports.LinearScaleVisualData = LinearScaleVisualData;
    exports.MorphSegment = MorphSegment;
    exports.NeedleVisualData = NeedleVisualData;
    exports.RadialGaugeBackingShape = RadialGaugeBackingShape;
    exports.RadialGaugeBackingShape_$type = RadialGaugeBackingShape_$type;
    exports.RadialGaugeDuplicateLabelOmissionStrategy = RadialGaugeDuplicateLabelOmissionStrategy;
    exports.RadialGaugeDuplicateLabelOmissionStrategy_$type = RadialGaugeDuplicateLabelOmissionStrategy_$type;
    exports.RadialGaugeFrame = RadialGaugeFrame;
    exports.RadialGaugeNeedleFrame = RadialGaugeNeedleFrame;
    exports.RadialGaugeNeedleParameters = RadialGaugeNeedleParameters;
    exports.RadialGaugeNeedlePreparer = RadialGaugeNeedlePreparer;
    exports.RadialGaugeNeedleShape = RadialGaugeNeedleShape;
    exports.RadialGaugeNeedleShape_$type = RadialGaugeNeedleShape_$type;
    exports.RadialGaugePivotShape = RadialGaugePivotShape;
    exports.RadialGaugePivotShape_$type = RadialGaugePivotShape_$type;
    exports.RadialGaugeRangeCollection = RadialGaugeRangeCollection;
    exports.RadialGaugeRangeFrame = RadialGaugeRangeFrame;
    exports.RadialGaugeScaleFrame = RadialGaugeScaleFrame;
    exports.RadialGaugeScaleFrameLabel = RadialGaugeScaleFrameLabel;
    exports.RadialGaugeScaleOversweepShape = RadialGaugeScaleOversweepShape;
    exports.RadialGaugeScaleOversweepShape_$type = RadialGaugeScaleOversweepShape_$type;
    exports.RadialGaugeScaler = RadialGaugeScaler;
    exports.RadialGaugeStylingDefaults = RadialGaugeStylingDefaults;
    exports.RangeVisualData = RangeVisualData;
    exports.RangeVisualDataList = RangeVisualDataList;
    exports.ScaleLabelVisualData = ScaleLabelVisualData;
    exports.ScaleLabelVisualDataList = ScaleLabelVisualDataList;
    exports.ScaleTickmarkVisualData = ScaleTickmarkVisualData;
    exports.ScaleTickmarkVisualDataList = ScaleTickmarkVisualDataList;
    exports.ScaleVisualData = ScaleVisualData;
    exports.TitlesPosition = TitlesPosition;
    exports.TitlesPosition_$type = TitlesPosition_$type;
    exports.ToolTipInfo = ToolTipInfo;
    exports.ToolTipItemVisualData = ToolTipItemVisualData;
    exports.ValueVisualData = ValueVisualData;
    exports.XamBulletGraph = XamBulletGraph;
    exports.XamBulletGraphView = XamBulletGraphView;
    exports.XamLinearGauge = XamLinearGauge;
    exports.XamLinearGaugeView = XamLinearGaugeView;
    exports.XamLinearGraphRange = XamLinearGraphRange;
    exports.XamRadialGauge = XamRadialGauge;
    exports.XamRadialGaugeRange = XamRadialGaugeRange;
    exports.XamRadialGaugeView = XamRadialGaugeView;

    Object.defineProperty(exports, '__esModule', { value: true });

})));