/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import * as tslib_1 from "tslib";
import { EventArgs, Base, markType } from "igniteui-react-core/ES5/type";
import { Rect } from "igniteui-react-core/ES5/Rect";
var ZoomSliderWidget = /** @class */ (function (_super) {
    tslib_1.__extends(ZoomSliderWidget, _super);
    function ZoomSliderWidget() {
        var _this = _super.call(this) || this;
        _this.k = null;
        _this.i = null;
        _this.s = null;
        _this.windowRectChanged = null;
        _this.b = false;
        return _this;
    }
    ZoomSliderWidget.prototype.windowRectChangedHandler = function (a, b) {
        this.t = new Rect(0, (b.newRect.left), (b.newRect.top), (b.newRect.width), (b.newRect.height));
    };
    ZoomSliderWidget.a = function (externalChart_, host_) {
        var component_ = externalChart_._createZoomSlider(host_.getNativeElement());
        var result_ = new ZoomSliderWidget();
        result_.i = host_;
        result_.k = component_;
        component_.i.windowRectChanged = function (sender, args) { result_.windowRectChangedHandler(sender, args); };
        return result_;
    };
    Object.defineProperty(ZoomSliderWidget.prototype, "t", {
        get: function () {
            return this.s;
        },
        set: function (a) {
            var b = this.t;
            if (Rect.l_op_Inequality(a, b)) {
                this.s = a;
                this.p("windowRect", {
                    left: a.left,
                    top: a.top,
                    width: a.width,
                    height: a.height
                });
                if (this.windowRectChanged != null) {
                    this.windowRectChanged(this, EventArgs.empty);
                }
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ZoomSliderWidget.prototype, "e", {
        get: function () {
            return this.j("startInset");
        },
        set: function (a) {
            this.p("startInset", a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ZoomSliderWidget.prototype, "d", {
        get: function () {
            return this.j("endInset");
        },
        set: function (a) {
            this.p("endInset", a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ZoomSliderWidget.prototype, "g", {
        get: function () {
            return this.j("trackStartInset");
        },
        set: function (a) {
            this.p("trackStartInset", a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ZoomSliderWidget.prototype, "f", {
        get: function () {
            return this.j("trackEndInset");
        },
        set: function (a) {
            this.p("trackEndInset", a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ZoomSliderWidget.prototype, "c", {
        get: function () {
            return this.j("barExtent");
        },
        set: function (a) {
            this.p("barExtent", a);
        },
        enumerable: true,
        configurable: true
    });
    ZoomSliderWidget.prototype.j = function (a) {
        return this.k[a];
    };
    ZoomSliderWidget.prototype.p = function (a, b) {
        this.k[a] = b;
    };
    ZoomSliderWidget.prototype.hide = function () {
        this.i.hide();
    };
    ZoomSliderWidget.prototype.show = function () {
        this.i.show();
    };
    ZoomSliderWidget.prototype.o = function () {
        this.k.i.notifySizeChanged();
    };
    ZoomSliderWidget.prototype.m = function () {
        if (!this.b) {
            this.b = true;
            this.k.updateStyle();
        }
    };
    ZoomSliderWidget.$t = markType(ZoomSliderWidget, 'ZoomSliderWidget');
    return ZoomSliderWidget;
}(Base));
export { ZoomSliderWidget };
