import * as tslib_1 from "tslib";
/*
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 { Component, Input } from "@angular/core";
import { TypeRegistrar } from "igniteui-angular-core/ES2015/type";
import { TimeAxisBreak } from "./TimeAxisBreak";
export const IgxTimeAxisBreakComponent_PROVIDERS = [];
let IgxTimeAxisBreakComponent = class IgxTimeAxisBreakComponent {
    constructor() {
        this._renderer = null;
        this._zoneRunner = null;
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    get i() {
        return this._implementation;
    }
    onImplementationCreated() {
    }
    createImplementation() {
        return new TimeAxisBreak();
    }
    ngOnInit() {
    }
    _provideRenderer(renderer) {
        this._renderer = renderer;
        this._zoneRunner = (act) => renderer._ngZone.run(act);
    }
    static _createFromInternal(internal) {
        if (!internal) {
            return null;
        }
        if (!internal.$type) {
            return null;
        }
        let name = internal.$type.name;
        let externalName = "Igx" + name + "Component";
        if (!TypeRegistrar.isRegistered(externalName)) {
            return null;
        }
        return TypeRegistrar.create(externalName);
    }
    /**
 * The start time of the axis break.
*
* Use `start` property for the start time of the axis break.
*
* ```html
* <igx-data-chart
*     [dataSource]="data">
*     <igx-time-x-axis
* 		dateTimeMemberPath="date"
* 		#xAxis>
*     </igx-time-x-axis>
* </igx-data-chart>
* ```
*
* ```ts
* let xAxis = new IgxTimeXAxisComponent();
* xAxis.dataTimeMemberPath="date";
* this.chart.axes.add(xAxis);
* ```
*/
    get start() {
        return this.i.d;
    }
    set start(v) {
        this.i.d = v;
    }
    /**
     * The end time of the axis break.
    *
    * Use `end` property for the end time of the axis break.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-time-x-axis
    * 		dateTimeMemberPath="date"
    * 		#xAxis>
    *     </igx-time-x-axis>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let xAxis = new IgxTimeXAxisComponent();
    * xAxis.dataTimeMemberPath="date";
    * this.chart.axes.add(xAxis);
    * ```
    */
    get end() {
        return this.i.c;
    }
    set end(v) {
        this.i.c = v;
    }
    /**
     * The interval at which to repeat this break, expressed as a TimeSpan.
    *
    * Use `interval` property to se the interval at which to repeat this break, expressed as a TimeSpan.
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    *     <igx-time-x-axis
    * 		dateTimeMemberPath="date"
    * 		#xAxis>
    *     </igx-time-x-axis>
    * </igx-data-chart>
    * ```
    *
    * ```ts
    * let xAxis = new IgxTimeXAxisComponent();
    * xAxis.dataTimeMemberPath="date";
    * this.chart.axes.add(xAxis);
    * ```
    */
    get interval() {
        return this.i.i;
    }
    set interval(v) {
        this.i.i = +v;
    }
    _runInZone(act) {
        if (this._zoneRunner != null) {
            this._zoneRunner(act);
        }
        else {
            act();
        }
    }
};
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Date),
    tslib_1.__metadata("design:paramtypes", [Date])
], IgxTimeAxisBreakComponent.prototype, "start", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Date),
    tslib_1.__metadata("design:paramtypes", [Date])
], IgxTimeAxisBreakComponent.prototype, "end", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", Number),
    tslib_1.__metadata("design:paramtypes", [Number])
], IgxTimeAxisBreakComponent.prototype, "interval", null);
IgxTimeAxisBreakComponent = tslib_1.__decorate([
    Component({
        selector: 'igx-time-axis-break',
        template: ``,
        providers: IgxTimeAxisBreakComponent_PROVIDERS
    }),
    tslib_1.__metadata("design:paramtypes", [])
], IgxTimeAxisBreakComponent);
export { IgxTimeAxisBreakComponent };
//# sourceMappingURL=igx-time-axis-break-component.js.map