import { __extends } from "tslib";
import { Component, forwardRef, ChangeDetectionStrategy } from '@angular/core';
import { IgxNumericYAxisComponent } from "./igx-numeric-y-axis-component";
import { IgxStraightNumericAxisBaseComponent } from "./igx-straight-numeric-axis-base-component";
import { IgxNumericAxisBaseComponent } from "./igx-numeric-axis-base-component";
import { IgxAxisComponent } from "./igx-axis-component";
import { PercentChangeYAxis } from "./PercentChangeYAxis";
import * as i0 from "@angular/core";
/**
 * A horizontal axis that uses a DateTime scale.
*
* You can use the `PercentChangeYAxis` show percentage values.
*
* ```html
* <igx-data-chart
*     [dataSource]="data">
*     <igx-percent-change-y-axis
* 		#yAxis>
*     </igx-percent-change-y-axis>
* </igx-data-chart>
* ```
*
* ```ts
* let yAxis = new IgxPercentChangeYAxisComponent();
* this.chart.axes.add(yAxis);
* ```
*/
var IgxPercentChangeYAxisComponent = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgxPercentChangeYAxisComponent, _super);
    function IgxPercentChangeYAxisComponent() {
        return _super.call(this) || this;
    }
    IgxPercentChangeYAxisComponent.prototype.createImplementation = function () {
        return new PercentChangeYAxis();
    };
    Object.defineProperty(IgxPercentChangeYAxisComponent.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgxPercentChangeYAxisComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: IgxPercentChangeYAxisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    IgxPercentChangeYAxisComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: IgxPercentChangeYAxisComponent, selector: "igx-percent-change-y-axis", providers: [{ provide: IgxNumericYAxisComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }, { provide: IgxStraightNumericAxisBaseComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }, { provide: IgxNumericAxisBaseComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }, { provide: IgxAxisComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }], usesInheritance: true, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
    return IgxPercentChangeYAxisComponent;
}(IgxNumericYAxisComponent));
export { IgxPercentChangeYAxisComponent };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: IgxPercentChangeYAxisComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'igx-percent-change-y-axis',
                    template: "",
                    providers: [{ provide: IgxNumericYAxisComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }, { provide: IgxStraightNumericAxisBaseComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }, { provide: IgxNumericAxisBaseComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }, { provide: IgxAxisComponent, useExisting: forwardRef(function () { return IgxPercentChangeYAxisComponent; }) }],
                    changeDetection: ChangeDetectionStrategy.OnPush
                }]
        }], ctorParameters: function () { return []; } });
