import * as tslib_1 from "tslib";
import { IgrHorizontalRangeCategorySeries } from "./igr-horizontal-range-category-series";
import { RangeColumnSeries } from "./RangeColumnSeries";
import { toPoint, fromRect } from "igniteui-react-core/ES5/componentUtil";
/**
 * Represents a IgxDataChartComponent range column series.
*
* The `IgrRangeColumnSeries` class represents range column series of the IgxDataChartComponent.
*
* ```ts
* <IgrDataChart
*     dataSource={this.state.dataSource}
*     width="700px"
*     height="500px">
*
*     <IgrCategoryXAxis name="xAxis" label="Year" />
*     <IgrNumericYAxis  name="yAxis" />
*
*     <IgrRangeColumnSeries
*         name="series1"
*         xAxisName="xAxis"
*         yAxisName="yAxis"
*         highMemberPath="High"
*         lowMemberPath="Low" />
*  </IgrDataChart>
* ```
*/
var IgrRangeColumnSeries = /** @class */ (function (_super) {
    tslib_1.__extends(IgrRangeColumnSeries, _super);
    function IgrRangeColumnSeries(props) {
        return _super.call(this, props) || this;
    }
    IgrRangeColumnSeries.prototype.createImplementation = function () {
        return new RangeColumnSeries();
    };
    Object.defineProperty(IgrRangeColumnSeries.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrRangeColumnSeries.prototype, "radiusX", {
        /**
         * Gets or sets the x-radius of the ellipse that is used to round the corners of the column.
        *
        * Use the `radiusX` property to round the corners of the column.
        *
        * ```ts
        * <IgrDataChart
        *     dataSource={this.state.dataSource}
        *     width="700px"
        *     height="500px">
        *
        *     <IgrCategoryXAxis name="xAxis" label="Year" />
        *     <IgrNumericYAxis  name="yAxis" />
        *
        *     <IgrRangeColumnSeries
        *         name="series1"
        *         xAxisName="xAxis"
        *         yAxisName="yAxis"
        *         highMemberPath="High"
        *         lowMemberPath="Low"
        * 		radiusX=10 />
        *  </IgrDataChart>
        * ```
        *
        * ```ts
        * series.radiusX=10;
        * ```
        */
        get: function () {
            return this.i.pd;
        },
        set: function (v) {
            this.i.pd = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrRangeColumnSeries.prototype, "radiusY", {
        /**
         * Gets or sets the y-radius of the ellipse that is used to round the corners of the column.
        *
        * Use the `radiusY` property for the y-radius of the ellipse that is used to round the corners of the column.
        *
        * ```ts
        * <IgrDataChart
        *     dataSource={this.state.dataSource}
        *     width="700px"
        *     height="500px">
        *
        *     <IgrCategoryXAxis name="xAxis" label="Year" />
        *     <IgrNumericYAxis  name="yAxis" />
        *
        *     <IgrRangeColumnSeries
        *         name="series1"
        *         xAxisName="xAxis"
        *         yAxisName="yAxis"
        *         highMemberPath="High"
        *         lowMemberPath="Low"
        * 		radiusY=10 />
        *  </IgrDataChart>
        * ```
        *
        * ```ts
        * series.radiusY=10;
        * ```
        */
        get: function () {
            return this.i.pe;
        },
        set: function (v) {
            this.i.pe = +v;
        },
        enumerable: true,
        configurable: true
    });
    /**
     * If possible, will return the best available value bounding box within the series that has the best value match for the world position provided.
    
    * @param world  * The world coordinate for which to get a value bounding box for
    *
    * The `getSeriesValueBoundingBox` method return the best available value of the bounding box within the series.
    */
    IgrRangeColumnSeries.prototype.getSeriesValueBoundingBox = function (world) {
        var iv = this.i.ln(toPoint(world));
        return fromRect(iv);
    };
    /**
     * For a category plotted series, returns the current width of the items within the categories. This only returns a value if the items have some form of width (e.g. columns, bars, etc.) otherwise 0 is returned.
    
    *
    * The `getItemSpan` method returns the current width of the items within the categories.
    *
    * ```ts
    * var x =series.getItemSpan();
    * ```
    */
    IgrRangeColumnSeries.prototype.getItemSpan = function () {
        var iv = this.i.ed();
        return (iv);
    };
    return IgrRangeColumnSeries;
}(IgrHorizontalRangeCategorySeries));
export { IgrRangeColumnSeries };
