import * as tslib_1 from "tslib";
import { Output, EventEmitter, Component, ViewContainerRef, Injector, ComponentFactoryResolver, Renderer2, ViewChild, Input, NgZone, ChangeDetectionStrategy } from '@angular/core';
import { ZoomSliderOrientation, ZoomSliderOrientation_$type } from './ZoomSliderOrientation';
import { IgxZoomSliderResolvingAxisValueEventArgs } from './igx-zoom-slider-resolving-axis-value-event-args';
import { IgxRectChangedEventArgs } from "igniteui-angular-core";
import { ZoomSlider } from "./ZoomSlider";
import { fromRect, toRect, ensureEnum, brushToString, stringToBrush, ensureBool, toSpinal, initializePropertiesFromCss, NamePatcher } from "igniteui-angular-core";
import { FontInfo } from "igniteui-angular-core";
import { AngularRenderer } from "igniteui-angular-core";
import { delegateCombine } from "igniteui-angular-core";
export const IgxZoomSliderComponent_PROVIDERS = [];
const ZoomSliderStylingDefaults = {};
let IgxZoomSliderComponent = class IgxZoomSliderComponent {
    constructor(renderer, _elRef, ngZone, injector, componentFactoryResolver) {
        this.renderer = renderer;
        this._elRef = _elRef;
        this.ngZone = ngZone;
        this.injector = injector;
        this.componentFactoryResolver = componentFactoryResolver;
        this._wrapper = null;
        this._root = null;
        this._implementation = null;
        this.__p = null;
        this._hasUserValues = new Set();
        this._stylingContainer = null;
        this._stylingParent = null;
        this._inStyling = false;
        this._resolvingAxisValue = null;
        this._windowRectChanged = null;
        this._zoneRunner = null;
        if (this._styling) {
            NamePatcher.ensureStylablePatched(Object.getPrototypeOf(this));
        }
        this._implementation = this.createImplementation();
        if (renderer) {
            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 != null) {
            root = this.container;
        }
        if (root && root.nativeElement) {
            root = root.nativeElement;
        }
        this._root = root;
        var zoomSlider = this.i;
        this._zoomSlider = zoomSlider;
        if (renderer) {
            var ren = new AngularRenderer(root, this.renderer, window.document, this.ngZone, true, ZoomSliderStylingDefaults);
            this._wrapper = ren;
            zoomSlider.provideContainer(ren);
            zoomSlider.notifySizeChanged();
            ren.addSizeWatcher(() => {
                this._zoomSlider.notifySizeChanged();
            });
        }
    }
    set height(value) {
        this._height = value;
        this.renderer.setStyle(this._elRef.element.nativeElement, "height", value);
        this._zoomSlider.notifySizeChanged();
    }
    get height() {
        return this._height;
    }
    set width(value) {
        this._width = value;
        this.renderer.setStyle(this._elRef.element.nativeElement, "width", value);
        this._zoomSlider.notifySizeChanged();
    }
    get width() {
        return this._width;
    }
    // supports angular themes or custom properties set in CSS
    updateStyle() {
        this._styling(this._root, this);
    }
    ngOnDestroy() {
        this._zoomSlider.destroy();
        this._wrapper.destroy();
    }
    ngAfterContentInit() {
        this.updateStyle();
    }
    createImplementation() {
        return new ZoomSlider();
    }
    get i() {
        return this._implementation;
    }
    static _staticStyling(container, component, parent) {
        let genericPrefix = "";
        let typeName = (component.i ? component.i : component).$type.name;
        if (typeName.indexOf("Xam") === 0) {
            typeName = typeName.substring(3);
        }
        genericPrefix = toSpinal("ZoomSlider");
        let additionalPrefixes = [];
        let prefix = toSpinal(typeName);
        additionalPrefixes.push(prefix + "-");
        let b = (component.i ? component.i : component).$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);
            }
            let basePrefix = toSpinal(typeName);
            additionalPrefixes.push(basePrefix + "-");
            b = b.baseType;
        }
        if (parent) {
            let parentTypeName = parent.i.$type.name;
            if (parentTypeName.indexOf("Xam") === 0) {
                parentTypeName = parentTypeName.substring(3);
            }
            let parentPrefix = toSpinal(parentTypeName);
            additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
            additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
        }
        initializePropertiesFromCss(container, component, genericPrefix + "-", new Set(), false, additionalPrefixes);
    }
    get panTransitionDuration() {
        return this.i.bl;
    }
    set panTransitionDuration(v) {
        this.i.bl = +v;
    }
    get maxZoomWidth() {
        return this.i.bg;
    }
    set maxZoomWidth(v) {
        this.i.bg = +v;
    }
    /**
     * 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 pixelScalingRatio() {
        return this.i.bi;
    }
    set pixelScalingRatio(v) {
        this.i.bi = +v;
    }
    get actualPixelScalingRatio() {
        return this.i.a4;
    }
    set actualPixelScalingRatio(v) {
        this.i.a4 = +v;
    }
    get windowRect() {
        return fromRect(this.i.windowRect);
    }
    set windowRect(v) {
        this.i.windowRect = toRect(v);
    }
    get minZoomWidth() {
        return this.i.bh;
    }
    set minZoomWidth(v) {
        this.i.bh = +v;
    }
    get startInset() {
        return this.i.startInset;
    }
    set startInset(v) {
        this.i.startInset = +v;
    }
    get endInset() {
        return this.i.endInset;
    }
    set endInset(v) {
        this.i.endInset = +v;
    }
    get trackStartInset() {
        return this.i.trackStartInset;
    }
    set trackStartInset(v) {
        this.i.trackStartInset = +v;
    }
    get trackEndInset() {
        return this.i.trackEndInset;
    }
    set trackEndInset(v) {
        this.i.trackEndInset = +v;
    }
    get barExtent() {
        return this.i.barExtent;
    }
    set barExtent(v) {
        this.i.barExtent = +v;
    }
    get orientation() {
        return this.i.e;
    }
    set orientation(v) {
        this.i.e = ensureEnum(ZoomSliderOrientation_$type, v);
    }
    get lowerThumbBrush() {
        return brushToString(this.i.e8);
    }
    set lowerThumbBrush(v) {
        this.i.e8 = stringToBrush(v);
    }
    get lowerThumbStrokeThickness() {
        return this.i.be;
    }
    set lowerThumbStrokeThickness(v) {
        this.i.be = +v;
    }
    get higherThumbStrokeThickness() {
        return this.i.a9;
    }
    set higherThumbStrokeThickness(v) {
        this.i.a9 = +v;
    }
    get higherThumbBrush() {
        return brushToString(this.i.e0);
    }
    set higherThumbBrush(v) {
        this.i.e0 = stringToBrush(v);
    }
    get lowerThumbOutline() {
        return brushToString(this.i.e9);
    }
    set lowerThumbOutline(v) {
        this.i.e9 = stringToBrush(v);
    }
    get higherThumbOutline() {
        return brushToString(this.i.e1);
    }
    set higherThumbOutline(v) {
        this.i.e1 = stringToBrush(v);
    }
    get lowerThumbRidgesBrush() {
        return brushToString(this.i.fa);
    }
    set lowerThumbRidgesBrush(v) {
        this.i.fa = stringToBrush(v);
    }
    get higherThumbRidgesBrush() {
        return brushToString(this.i.e2);
    }
    set higherThumbRidgesBrush(v) {
        this.i.e2 = stringToBrush(v);
    }
    get lowerThumbWidth() {
        return this.i.bf;
    }
    set lowerThumbWidth(v) {
        this.i.bf = +v;
    }
    get higherThumbWidth() {
        return this.i.ba;
    }
    set higherThumbWidth(v) {
        this.i.ba = +v;
    }
    get lowerThumbHeight() {
        return this.i.bd;
    }
    set lowerThumbHeight(v) {
        this.i.bd = +v;
    }
    get higherThumbHeight() {
        return this.i.a8;
    }
    set higherThumbHeight(v) {
        this.i.a8 = +v;
    }
    get lowerShadeBrush() {
        return brushToString(this.i.e6);
    }
    set lowerShadeBrush(v) {
        this.i.e6 = stringToBrush(v);
    }
    get lowerShadeOutline() {
        return brushToString(this.i.e7);
    }
    set lowerShadeOutline(v) {
        this.i.e7 = stringToBrush(v);
    }
    get lowerShadeStrokeThickness() {
        return this.i.bc;
    }
    set lowerShadeStrokeThickness(v) {
        this.i.bc = +v;
    }
    get higherShadeBrush() {
        return brushToString(this.i.ey);
    }
    set higherShadeBrush(v) {
        this.i.ey = stringToBrush(v);
    }
    get higherShadeOutline() {
        return brushToString(this.i.ez);
    }
    set higherShadeOutline(v) {
        this.i.ez = stringToBrush(v);
    }
    get higherShadeStrokeThickness() {
        return this.i.a7;
    }
    set higherShadeStrokeThickness(v) {
        this.i.a7 = +v;
    }
    get barBrush() {
        return brushToString(this.i.et);
    }
    set barBrush(v) {
        this.i.et = stringToBrush(v);
    }
    get barOutline() {
        return brushToString(this.i.eu);
    }
    set barOutline(v) {
        this.i.eu = stringToBrush(v);
    }
    get barStrokeThickness() {
        return this.i.a5;
    }
    set barStrokeThickness(v) {
        this.i.a5 = +v;
    }
    get rangeThumbBrush() {
        return brushToString(this.i.fb);
    }
    set rangeThumbBrush(v) {
        this.i.fb = stringToBrush(v);
    }
    get rangeThumbOutline() {
        return brushToString(this.i.fc);
    }
    set rangeThumbOutline(v) {
        this.i.fc = stringToBrush(v);
    }
    get rangeThumbStrokeThickness() {
        return this.i.bj;
    }
    set rangeThumbStrokeThickness(v) {
        this.i.bj = +v;
    }
    get rangeThumbRidgesBrush() {
        return brushToString(this.i.fd);
    }
    set rangeThumbRidgesBrush(v) {
        this.i.fd = stringToBrush(v);
    }
    get lowerCalloutBrush() {
        return brushToString(this.i.e3);
    }
    set lowerCalloutBrush(v) {
        this.i.e3 = stringToBrush(v);
    }
    get lowerCalloutTextColor() {
        return brushToString(this.i.e5);
    }
    set lowerCalloutTextColor(v) {
        this.i.e5 = stringToBrush(v);
    }
    get lowerCalloutOutline() {
        return brushToString(this.i.e4);
    }
    set lowerCalloutOutline(v) {
        this.i.e4 = stringToBrush(v);
    }
    get lowerCalloutStrokeThickness() {
        return this.i.bb;
    }
    set lowerCalloutStrokeThickness(v) {
        this.i.bb = +v;
    }
    get higherCalloutBrush() {
        return brushToString(this.i.ev);
    }
    set higherCalloutBrush(v) {
        this.i.ev = stringToBrush(v);
    }
    get higherCalloutTextColor() {
        return brushToString(this.i.ex);
    }
    set higherCalloutTextColor(v) {
        this.i.ex = stringToBrush(v);
    }
    get higherCalloutOutline() {
        return brushToString(this.i.ew);
    }
    set higherCalloutOutline(v) {
        this.i.ew = stringToBrush(v);
    }
    get higherCalloutStrokeThickness() {
        return this.i.a6;
    }
    set higherCalloutStrokeThickness(v) {
        this.i.a6 = +v;
    }
    get isCustomThumbProvided() {
        return this.i.ab;
    }
    get isCustomRangeThumbProvided() {
        return this.i.z;
    }
    get isCustomBarProvided() {
        return this.i.y;
    }
    get isCustomShadeProvided() {
        return this.i.aa;
    }
    get areThumbCalloutsEnabled() {
        return this.i.q;
    }
    set areThumbCalloutsEnabled(v) {
        this.i.q = ensureBool(v);
    }
    get thumbCalloutTextStyle() {
        if (this.i.o == null) {
            return null;
        }
        return this.i.o.fontString;
    }
    set thumbCalloutTextStyle(v) {
        let fi = new FontInfo();
        fi.fontString = v;
        this.i.o = fi;
    }
    get hasUserValues() {
        return this._hasUserValues;
    }
    __m(propertyName) {
        if (!this._inStyling) {
            this._hasUserValues.add(propertyName);
        }
    }
    _styling(container, component, parent) {
        if (this._inStyling) {
            return;
        }
        this._inStyling = true;
        this._stylingContainer = container;
        this._stylingParent = component;
        let genericPrefix = "";
        let typeName = this.i.$type.name;
        if (typeName.indexOf("Xam") === 0) {
            typeName = typeName.substring(3);
        }
        genericPrefix = toSpinal("ZoomSliderComponent");
        let additionalPrefixes = [];
        let prefix = toSpinal(typeName);
        additionalPrefixes.push(prefix + "-");
        let 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);
            }
            let basePrefix = toSpinal(typeName);
            additionalPrefixes.push(basePrefix + "-");
            b = b.baseType;
        }
        if (parent) {
            let parentTypeName = parent.i.$type.name;
            if (parentTypeName.indexOf("Xam") === 0) {
                parentTypeName = parentTypeName.substring(3);
            }
            let parentPrefix = toSpinal(parentTypeName);
            additionalPrefixes.push(parentPrefix + "-" + genericPrefix + "-");
            additionalPrefixes.push(parentPrefix + "-" + prefix + "-");
        }
        initializePropertiesFromCss(container, this, genericPrefix + "-", this.hasUserValues, false, additionalPrefixes);
        if (this._otherStyling) {
            this._otherStyling(container, component, parent);
        }
        this._inStyling = false;
    }
    onDetachedFromUI() {
        this.i.onDetachedFromUI();
    }
    onAttachedToUI() {
        this.i.onAttachedToUI();
    }
    /**
     * Release any resources held by the ZoomSlider.
    
    */
    destroy() {
        this.i.destroy();
    }
    /**
     * Called by the UI framework to provide a UI container for rendering this control.
    
    * @param container  * The UI container element.
    */
    provideContainer(container) {
        this.i.provideContainer(container);
    }
    flush() {
        this.i.c3();
    }
    trackDirty() {
        this.i.trackDirty();
    }
    /**
     * Shows the ZoomSlider.
    
    */
    show() {
        this.i.show();
    }
    /**
     * Hides the ZoomSlider.
    
    */
    hide() {
        this.i.hide();
    }
    get resolvingAxisValue() {
        if (this._resolvingAxisValue == null) {
            this._resolvingAxisValue = new EventEmitter();
            this.i.resolvingAxisValue = delegateCombine(this.i.resolvingAxisValue, (o, e) => {
                let outerArgs = new IgxZoomSliderResolvingAxisValueEventArgs();
                outerArgs._provideImplementation(e);
                if (this.beforeResolvingAxisValue) {
                    this.beforeResolvingAxisValue(this, outerArgs);
                }
                this._resolvingAxisValue.emit({
                    sender: this,
                    args: outerArgs
                });
            });
        }
        return this._resolvingAxisValue;
    }
    /**
     * Occurs just after the current ZoomSlider's window rectangle is changed.
    */
    get windowRectChanged() {
        if (this._windowRectChanged == null) {
            this._windowRectChanged = new EventEmitter();
            this.i.windowRectChanged = delegateCombine(this.i.windowRectChanged, (o, e) => {
                let outerArgs = new IgxRectChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (this.beforeWindowRectChanged) {
                    this.beforeWindowRectChanged(this, outerArgs);
                }
                this._windowRectChanged.emit({
                    sender: this,
                    args: outerArgs
                });
            });
        }
        return this._windowRectChanged;
    }
    _runInZone(act) {
        if (this._zoneRunner != null) {
            this._zoneRunner(act);
        }
        else {
            act();
        }
    }
};
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "height", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "width", null);
tslib_1.__decorate([
    ViewChild("dynamicContent", { read: ViewContainerRef, static: true }),
    tslib_1.__metadata("design:type", ViewContainerRef)
], IgxZoomSliderComponent.prototype, "_dynamicContent", void 0);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "panTransitionDuration", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "maxZoomWidth", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "pixelScalingRatio", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "actualPixelScalingRatio", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Object),
    tslib_1.__metadata("design:paramtypes", [Object])
], IgxZoomSliderComponent.prototype, "windowRect", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "minZoomWidth", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "startInset", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "endInset", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "trackStartInset", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "trackEndInset", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "barExtent", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "orientation", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerThumbBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "lowerThumbStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "higherThumbStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherThumbBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerThumbOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherThumbOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerThumbRidgesBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherThumbRidgesBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "lowerThumbWidth", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "higherThumbWidth", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "lowerThumbHeight", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "higherThumbHeight", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerShadeBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerShadeOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "lowerShadeStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherShadeBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherShadeOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "higherShadeStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "barBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "barOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "barStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "rangeThumbBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "rangeThumbOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "rangeThumbStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "rangeThumbRidgesBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerCalloutBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerCalloutTextColor", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "lowerCalloutOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "lowerCalloutStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherCalloutBrush", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherCalloutTextColor", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "higherCalloutOutline", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxZoomSliderComponent.prototype, "higherCalloutStrokeThickness", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Boolean),
    tslib_1.__metadata("design:paramtypes", [Boolean])
], IgxZoomSliderComponent.prototype, "areThumbCalloutsEnabled", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxZoomSliderComponent.prototype, "thumbCalloutTextStyle", null);
tslib_1.__decorate([
    Output(),
    tslib_1.__metadata("design:type", EventEmitter),
    tslib_1.__metadata("design:paramtypes", [])
], IgxZoomSliderComponent.prototype, "resolvingAxisValue", null);
tslib_1.__decorate([
    Output(),
    tslib_1.__metadata("design:type", EventEmitter),
    tslib_1.__metadata("design:paramtypes", [])
], IgxZoomSliderComponent.prototype, "windowRectChanged", null);
IgxZoomSliderComponent = tslib_1.__decorate([
    Component({
        selector: 'igx-zoom-slider',
        template: ``,
        changeDetection: ChangeDetectionStrategy.OnPush,
        providers: IgxZoomSliderComponent_PROVIDERS,
        host: { 'class': 'ig-zoom-slider igx-zoom-slider' },
        styles: [`
		:host {
			display: block;
		}
	`]
    }),
    tslib_1.__metadata("design:paramtypes", [Renderer2,
        ViewContainerRef,
        NgZone,
        Injector,
        ComponentFactoryResolver])
], IgxZoomSliderComponent);
export { IgxZoomSliderComponent };
//# sourceMappingURL=igx-zoom-slider-component.js.map