import * as tslib_1 from "tslib";
var IgxScatterAreaSeriesComponent_1;
import { Component, forwardRef, Input, ChangeDetectionStrategy } from '@angular/core';
import { IgxColorScaleComponent } from "./igx-color-scale-component";
import { IgxScatterTriangulationSeriesComponent } from "./igx-scatter-triangulation-series-component";
import { IgxSeriesComponent } from "./igx-series-component";
import { ScatterAreaSeries } from "./ScatterAreaSeries";
import { toPoint } from "igniteui-angular-core/ES2015/componentUtil";
/**
 * Series class which draws a colored 2D surface based on a triangulation of XY data with numeric values assigned to each point.
*/
export const IgxScatterAreaSeriesComponent_PROVIDERS = [{ provide: IgxScatterTriangulationSeriesComponent, useExisting: forwardRef(() => IgxScatterAreaSeriesComponent) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxScatterAreaSeriesComponent) }];
let IgxScatterAreaSeriesComponent = IgxScatterAreaSeriesComponent_1 = class IgxScatterAreaSeriesComponent extends IgxScatterTriangulationSeriesComponent {
    constructor() {
        super();
    }
    createImplementation() {
        return new ScatterAreaSeries();
    }
    get i() {
        return this._implementation;
    }
    /**
     * Gets or sets ColorScale used to resolve the color values of points in the series.
    */
    get colorScale() {
        if (this.i.nd == null) {
            return null;
        }
        return this.i.nd.externalObject;
    }
    set colorScale(v) {
        v == null ? this.i.nd = null : this.i.nd = v.i;
    }
    /**
     * Gets or sets the name of the property on each data item containing a numeric value which can be converted to a color by the ColorScale.
    */
    get colorMemberPath() {
        return this.i.nl;
    }
    set colorMemberPath(v) {
        this.i.nl = v;
    }
    /**
     * Gets the item that is the best match for the specified world coordinates.
    
    * @param world  * The world coordinates to use.
    */
    getItem(world) {
        let iv = this.i.fm(toPoint(world));
        return (iv);
    }
    /**
     * Attaches an image to the view of this series
    
    */
    attachImage(image) {
        this.i.np(image);
    }
};
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", IgxColorScaleComponent),
    tslib_1.__metadata("design:paramtypes", [IgxColorScaleComponent])
], IgxScatterAreaSeriesComponent.prototype, "colorScale", null);
tslib_1.__decorate([
    Input(),
    tslib_1.__metadata("design:type", String),
    tslib_1.__metadata("design:paramtypes", [String])
], IgxScatterAreaSeriesComponent.prototype, "colorMemberPath", null);
IgxScatterAreaSeriesComponent = IgxScatterAreaSeriesComponent_1 = tslib_1.__decorate([
    Component({
        selector: 'igx-scatter-area-series',
        template: ``,
        providers: [{ provide: IgxScatterTriangulationSeriesComponent, useExisting: forwardRef(() => IgxScatterAreaSeriesComponent_1) }, { provide: IgxSeriesComponent, useExisting: forwardRef(() => IgxScatterAreaSeriesComponent_1) }],
        changeDetection: ChangeDetectionStrategy.OnPush
    }),
    tslib_1.__metadata("design:paramtypes", [])
], IgxScatterAreaSeriesComponent);
export { IgxScatterAreaSeriesComponent };
//# sourceMappingURL=igx-scatter-area-series-component.js.map