UNPKG

igniteui-webcomponents-charts

Version:

Ignite UI Web Components charting components for building rich data visualizations using TypeScript APIs.

3,319 lines 129 kB
import { __extends } from "tslib";
import { IgcHTMLElement } from "igniteui-webcomponents-core";
import { delegateCombine, delegateRemove } from "igniteui-webcomponents-core";
import { MarkerAutomaticBehavior_$type } from "./MarkerAutomaticBehavior";
import { SeriesHighlightingMode_$type } from "./SeriesHighlightingMode";
import { SeriesSelectionMode_$type } from "./SeriesSelectionMode";
import { SeriesSelectionBehavior_$type } from "./SeriesSelectionBehavior";
import { SeriesViewerScrollbarMode_$type } from "./SeriesViewerScrollbarMode";
import { SeriesViewerHorizontalScrollbarPosition_$type } from "./SeriesViewerHorizontalScrollbarPosition";
import { SeriesViewerVerticalScrollbarPosition_$type } from "./SeriesViewerVerticalScrollbarPosition";
import { SeriesHighlightingBehavior_$type } from "./SeriesHighlightingBehavior";
import { LegendHighlightingMode_$type } from "./LegendHighlightingMode";
import { LegendItemBadgeShape_$type } from "igniteui-webcomponents-core";
import { LegendItemBadgeMode_$type } from "igniteui-webcomponents-core";
import { ChartHitTestMode_$type } from "./ChartHitTestMode";
import { WindowResponse_$type } from "./WindowResponse";
import { Visibility_$type } from "igniteui-webcomponents-core";
import { ZoomCoercionMode_$type } from "./ZoomCoercionMode";
import { InteractionState_$type } from "igniteui-webcomponents-core";
import { ModifierKeys_$type } from "igniteui-webcomponents-core";
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-webcomponents-core";
import { IgcChartSelectedItemCollection } from "./igc-chart-selected-item-collection";
import { HorizontalAlignment_$type } from "igniteui-webcomponents-core";
import { IgcPlotAreaMouseButtonEventArgs } from "./igc-plot-area-mouse-button-event-args";
import { IgcPlotAreaMouseEventArgs } from "./igc-plot-area-mouse-event-args";
import { IgcChartCursorEventArgs } from "./igc-chart-cursor-event-args";
import { IgcDataChartMouseButtonEventArgs } from "./igc-data-chart-mouse-button-event-args";
import { IgcChartMouseEventArgs } from "./igc-chart-mouse-event-args";
import { IgcSeriesViewerManipulationEventArgs } from "./igc-series-viewer-manipulation-event-args";
import { IgcRectChangedEventArgs } from "igniteui-webcomponents-core";
import { IgcSeriesViewerSelectedSeriesItemsChangedEventArgs } from "./igc-series-viewer-selected-series-items-changed-event-args";
import { IgcRefreshCompletedEventArgs } from "./igc-refresh-completed-event-args";
import { IgcImageCapturedEventArgs } from "igniteui-webcomponents-core";
import { TypeRegistrar } from "igniteui-webcomponents-core";
import { NamePatcher, getAllPropertyNames, fromSpinal, toSpinal, toBrushCollection, fromBrushCollection, brushCollectionToString, ensureEnum, enumToString, fromPoint, toPoint, pointToString, ensureBool, brushToString, stringToBrush, fromRect, toRect, rectToString, initializePropertiesFromCss } from "igniteui-webcomponents-core";
import { ChartSelectedItemCollection as ChartSelectedItemCollection_internal } from "./ChartSelectedItemCollection";
import { ChartSelection } from "./ChartSelection";
import { SyncableObservableCollection$1 } from "igniteui-webcomponents-core";
/**
 * Represents a control for viewing series objects.
*/
var IgcSeriesViewerComponent = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(IgcSeriesViewerComponent, _super);
    function IgcSeriesViewerComponent() {
        var _this = _super.call(this) || this;
        _this._settingAttributes = false;
        _this._attached = false;
        _this._queuedSetAttributes = [];
        _this._updatingFromAttribute = false;
        _this._selectedSeriesItems = null;
        _this._focusedSeriesItems = null;
        _this.__p = null;
        _this._hasUserValues = new Set();
        _this._stylingContainer = null;
        _this._stylingParent = null;
        _this._inStyling = false;
        _this._plotAreaMouseLeftButtonDown = null;
        _this._plotAreaMouseLeftButtonDown_wrapped = null;
        _this._plotAreaMouseLeftButtonUp = null;
        _this._plotAreaMouseLeftButtonUp_wrapped = null;
        _this._plotAreaClicked = null;
        _this._plotAreaClicked_wrapped = null;
        _this._plotAreaMouseEnter = null;
        _this._plotAreaMouseEnter_wrapped = null;
        _this._plotAreaMouseLeave = null;
        _this._plotAreaMouseLeave_wrapped = null;
        _this._plotAreaMouseOver = null;
        _this._plotAreaMouseOver_wrapped = null;
        _this._seriesCursorMouseMove = null;
        _this._seriesCursorMouseMove_wrapped = null;
        _this._seriesMouseLeftButtonDown = null;
        _this._seriesMouseLeftButtonDown_wrapped = null;
        _this._seriesMouseLeftButtonUp = null;
        _this._seriesMouseLeftButtonUp_wrapped = null;
        _this._seriesClick = null;
        _this._seriesClick_wrapped = null;
        _this._seriesMouseMove = null;
        _this._seriesMouseMove_wrapped = null;
        _this._seriesMouseEnter = null;
        _this._seriesMouseEnter_wrapped = null;
        _this._seriesMouseLeave = null;
        _this._seriesMouseLeave_wrapped = null;
        _this._viewerManipulationStarting = null;
        _this._viewerManipulationStarting_wrapped = null;
        _this._viewerManipulationEnding = null;
        _this._viewerManipulationEnding_wrapped = null;
        _this._windowRectChanged = null;
        _this._windowRectChanged_wrapped = null;
        _this._sizeChanged = null;
        _this._sizeChanged_wrapped = null;
        _this._actualWindowRectChanged = null;
        _this._actualWindowRectChanged_wrapped = null;
        _this._gridAreaRectChanged = null;
        _this._gridAreaRectChanged_wrapped = null;
        _this._selectedSeriesItemsChanged = null;
        _this._selectedSeriesItemsChanged_wrapped = null;
        _this._focusedSeriesItemsChanged = null;
        _this._focusedSeriesItemsChanged_wrapped = null;
        _this._refreshCompleted = null;
        _this._refreshCompleted_wrapped = null;
        _this._imageCaptured = null;
        _this._imageCaptured_wrapped = null;
        if (_this._styling) {
            NamePatcher.ensureStylablePatched(Object.getPrototypeOf(_this));
        }
        _this._implementation = _this.createImplementation();
        _this._implementation.externalObject = _this;
        _this.onImplementationCreated();
        if (_this._initializeAdapters) {
            _this._initializeAdapters();
        }
        return _this;
    }
    IgcSeriesViewerComponent.prototype.createImplementation = function () {
        return null;
    };
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        } /**
                                     * @hidden
                                     */,
        enumerable: false,
        configurable: true
    });
    IgcSeriesViewerComponent._createFromInternal = function (internal) {
        if (!internal) {
            return null;
        }
        if (!internal.$type) {
            return null;
        }
        var name = internal.$type.name;
        var externalName = "Igc" + name + "Component";
        if (!TypeRegistrar.isRegistered(externalName)) {
            return null;
        }
        return TypeRegistrar.create(externalName);
    };
    IgcSeriesViewerComponent.prototype.onImplementationCreated = function () {
    };
    IgcSeriesViewerComponent.prototype._enqueueSetAttribute = function (attrName, attrValue) {
        this._queuedSetAttributes.push({ attrName: attrName, attrValue: attrValue });
    };
    IgcSeriesViewerComponent.prototype._flushQueuedAttributes = function () {
        this._settingAttributes = true;
        for (var i = 0; i < this._queuedSetAttributes.length; i++) {
            this.setAttribute(this._queuedSetAttributes[i].attrName, this._queuedSetAttributes[i].attrValue);
        }
        this._settingAttributes = false;
        this._queuedSetAttributes.length = 0;
    };
    IgcSeriesViewerComponent.prototype._a = function (attrName, attrValue) {
        if (this._updatingFromAttribute) {
            return;
        }
        if (attrValue) {
            attrValue = attrValue.toString();
        }
        this._settingAttributes = true;
        attrName = toSpinal(attrName);
        if (this._attached) {
            this.setAttribute(attrName, attrValue);
        }
        else {
            this._enqueueSetAttribute(attrName, attrValue);
        }
        this._settingAttributes = false;
    };
    IgcSeriesViewerComponent.prototype.connectedCallback = function () {
        if (_super.prototype["connectedCallback"]) {
            _super.prototype["connectedCallback"].call(this);
        }
        if (this.i.connectedCallback) {
            this.i.connectedCallback();
        }
        if (!this._attached) {
            this._attached = true;
            this._flushQueuedAttributes();
        }
    };
    IgcSeriesViewerComponent.prototype.disconnectedCallback = function () {
        if (_super.prototype["disconnectedCallback"]) {
            _super.prototype["disconnectedCallback"].call(this);
        }
        if (this.i.disconnectedCallback) {
            this.i.disconnectedCallback();
        }
        if (this._attached) {
            this._attached = false;
        }
    };
    Object.defineProperty(IgcSeriesViewerComponent, "observedAttributes", {
        get: function () {
            if (IgcSeriesViewerComponent._observedAttributesIgcSeriesViewerComponent == null) {
                var names = getAllPropertyNames(IgcSeriesViewerComponent);
                for (var i = 0; i < names.length; i++) {
                    names[i] = toSpinal(names[i]);
                }
                IgcSeriesViewerComponent._observedAttributesIgcSeriesViewerComponent = names;
            }
            return IgcSeriesViewerComponent._observedAttributesIgcSeriesViewerComponent;
        },
        enumerable: false,
        configurable: true
    });
    IgcSeriesViewerComponent.prototype.attributeChangedCallback = function (name, oldValue, newValue) {
        if (this._settingAttributes) {
            return;
        }
        var setName = fromSpinal(name);
        this._updatingFromAttribute = true;
        this[setName] = newValue;
        this._updatingFromAttribute = false;
    };
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "brushes", {
        /**
         * Gets or sets the palette of brushes used for fill of plotted series.
         * These brushes are automatically assigned to series based on the index of series.
        */
        get: function () {
            return fromBrushCollection(this.i.ag);
        },
        set: function (v) {
            this.i.ag = toBrushCollection(v);
            this._a("brushes", brushCollectionToString(this.i.ag));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "outlines", {
        /**
         * Gets or sets the palette of brushes used for outlines of plotted series.
         * These outlines are automatically assigned to series based on the index of series.
        */
        get: function () {
            return fromBrushCollection(this.i.aj);
        },
        set: function (v) {
            this.i.aj = toBrushCollection(v);
            this._a("outlines", brushCollectionToString(this.i.aj));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "markerBrushes", {
        /**
         * Gets or sets the palette of brushes used for fill of marker series.
         * These brushes are automatically assigned to markers based on the index of series.
        */
        get: function () {
            return fromBrushCollection(this.i.ah);
        },
        set: function (v) {
            this.i.ah = toBrushCollection(v);
            this._a("markerBrushes", brushCollectionToString(this.i.ah));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "markerOutlines", {
        /**
         * Gets or sets the palette of brushes used for outlines of plotted markers.
         * These outlines are automatically assigned to markers based on the index of series.
        */
        get: function () {
            return fromBrushCollection(this.i.ai);
        },
        set: function (v) {
            this.i.ai = toBrushCollection(v);
            this._a("markerOutlines", brushCollectionToString(this.i.ai));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "markerAutomaticBehavior", {
        /**
         * Gets or sets the marker mode used for assigning a marker type to series when the marker type is automatic.
        */
        get: function () {
            return this.i.bg;
        },
        set: function (v) {
            this.i.bg = ensureEnum(MarkerAutomaticBehavior_$type, v);
            this._a("markerAutomaticBehavior", enumToString(MarkerAutomaticBehavior_$type, this.i.bg));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "crosshairPoint", {
        /**
         * Gets or sets the cross hair point (in world coordinates)
         * Either or both of the crosshair point's X and Y may be set to double.NaN, in which
         * case the relevant crosshair line is hidden.
        *
        * The `CrosshairPoint` property is used to gets/sets the cross hair point (in world coordinates).
        *
        * ```ts
        * this.chart.crosshairPoint = {x:.8,y:.2};
        * ```
        */
        get: function () {
            return fromPoint(this.i.v8);
        },
        set: function (v) {
            this.i.v8 = toPoint(v);
            this._a("crosshairPoint", pointToString(this.i.v8));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "animateSeriesWhenAxisRangeChanges", {
        /**
         * Gets or sets whether the series animations should be allowed when a range change has been detected on an axis.
        *
        * `AnimateSeriesWhenAxisRangeChanges` is a Boolean property to override the default behavior in which series do not animate if an axis range changes.
        *
        * ```ts
        * this.chart.animateSeriesWhenAxisRangeChanges = true;
        * ```
        */
        get: function () {
            return this.i.ej;
        },
        set: function (v) {
            this.i.ej = ensureBool(v);
            this._a("animateSeriesWhenAxisRangeChanges", this.i.ej);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesValueLayerUseLegend", {
        /**
         * Gets or sets whether the series animations should be allowed when a range change has been detected on an axis.
        */
        get: function () {
            return this.i.f2;
        },
        set: function (v) {
            this.i.f2 = ensureBool(v);
            this._a("seriesValueLayerUseLegend", this.i.f2);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "isWindowSyncedToVisibleRange", {
        /**
         * Gets or sets whether to sync the vertical aspect of the window with the contained series content. This is only supported for a subset of the available series.
        */
        get: function () {
            return this.i.fj;
        },
        set: function (v) {
            this.i.fj = ensureBool(v);
            this._a("isWindowSyncedToVisibleRange", this.i.fj);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "shouldSimulateHoverMoveCrosshairPoint", {
        /**
         * Gets or sets whether calling SimulateHover should shift the crosshair point.
        */
        get: function () {
            return this.i.f7;
        },
        set: function (v) {
            this.i.f7 = ensureBool(v);
            this._a("shouldSimulateHoverMoveCrosshairPoint", this.i.f7);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "highlightingMode", {
        /**
         * Gets or sets the highlighting mode to use for the series in the component, when supported. This takes precedence over the series level IsHighlightingEnabled.
        */
        get: function () {
            return this.i.by;
        },
        set: function (v) {
            this.i.by = ensureEnum(SeriesHighlightingMode_$type, v);
            this._a("highlightingMode", enumToString(SeriesHighlightingMode_$type, this.i.by));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectionMode", {
        /**
         * Gets or sets the selection mode to use for the series in the component, when supported.
        */
        get: function () {
            return this.i.cb;
        },
        set: function (v) {
            this.i.cb = ensureEnum(SeriesSelectionMode_$type, v);
            this._a("selectionMode", enumToString(SeriesSelectionMode_$type, this.i.cb));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectionBehavior", {
        /**
         * Gets or sets the selection behavior to use for the series in the component, when supported.
        */
        get: function () {
            return this.i.b6;
        },
        set: function (v) {
            this.i.b6 = ensureEnum(SeriesSelectionBehavior_$type, v);
            this._a("selectionBehavior", enumToString(SeriesSelectionBehavior_$type, this.i.b6));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "focusMode", {
        /**
         * Gets or sets the focus mode to use for the series in the component, when supported.
        */
        get: function () {
            return this.i.b9;
        },
        set: function (v) {
            this.i.b9 = ensureEnum(SeriesSelectionMode_$type, v);
            this._a("focusMode", enumToString(SeriesSelectionMode_$type, this.i.b9));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarMode", {
        /**
         * Gets or sets the horizontal scrollbar mode to use for the series viewer.
        */
        get: function () {
            return this.i.ch;
        },
        set: function (v) {
            this.i.ch = ensureEnum(SeriesViewerScrollbarMode_$type, v);
            this._a("horizontalViewScrollbarMode", enumToString(SeriesViewerScrollbarMode_$type, this.i.ch));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarMode", {
        /**
         * Gets or sets the vertical scrollbar mode to use for the series viewer.
        */
        get: function () {
            return this.i.ci;
        },
        set: function (v) {
            this.i.ci = ensureEnum(SeriesViewerScrollbarMode_$type, v);
            this._a("verticalViewScrollbarMode", enumToString(SeriesViewerScrollbarMode_$type, this.i.ci));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarPosition", {
        /**
         * Gets or sets the position to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.ce;
        },
        set: function (v) {
            this.i.ce = ensureEnum(SeriesViewerHorizontalScrollbarPosition_$type, v);
            this._a("horizontalViewScrollbarPosition", enumToString(SeriesViewerHorizontalScrollbarPosition_$type, this.i.ce));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarPosition", {
        /**
         * Gets or sets the position to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.cl;
        },
        set: function (v) {
            this.i.cl = ensureEnum(SeriesViewerVerticalScrollbarPosition_$type, v);
            this._a("verticalViewScrollbarPosition", enumToString(SeriesViewerVerticalScrollbarPosition_$type, this.i.cl));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarFill", {
        /**
         * Gets or sets the fill to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return brushToString(this.i.vv);
        },
        set: function (v) {
            this.i.vv = stringToBrush(v);
            this._a("horizontalViewScrollbarFill", brushToString(this.i.vv));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarOutline", {
        /**
         * Gets or sets the outline to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return brushToString(this.i.vw);
        },
        set: function (v) {
            this.i.vw = stringToBrush(v);
            this._a("horizontalViewScrollbarOutline", brushToString(this.i.vw));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarStrokeThickness", {
        /**
         * Gets or sets the stroke thickness to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.h0;
        },
        set: function (v) {
            this.i.h0 = +v;
            this._a("horizontalViewScrollbarStrokeThickness", this.i.h0);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarMaxOpacity", {
        /**
         * Gets or sets the max opacity to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.hz;
        },
        set: function (v) {
            this.i.hz = +v;
            this._a("horizontalViewScrollbarMaxOpacity", this.i.hz);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarCornerRadius", {
        /**
         * Gets or sets the corner radius to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.hw;
        },
        set: function (v) {
            this.i.hw = +v;
            this._a("horizontalViewScrollbarCornerRadius", this.i.hw);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarHeight", {
        /**
         * Gets or sets the height to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.hx;
        },
        set: function (v) {
            this.i.hx = +v;
            this._a("horizontalViewScrollbarHeight", this.i.hx);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarInset", {
        /**
         * Gets or sets the inset distance to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.hy;
        },
        set: function (v) {
            this.i.hy = +v;
            this._a("horizontalViewScrollbarInset", this.i.hy);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarTrackStartInset", {
        /**
         * Gets or sets the track start inset to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.h2;
        },
        set: function (v) {
            this.i.h2 = +v;
            this._a("horizontalViewScrollbarTrackStartInset", this.i.h2);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarTrackEndInset", {
        /**
         * Gets or sets the track end inset to use for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.h1;
        },
        set: function (v) {
            this.i.h1 = +v;
            this._a("horizontalViewScrollbarTrackEndInset", this.i.h1);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalViewScrollbarShouldAddAutoTrackInsets", {
        /**
         * Gets or sets whether to use automatic track insets for the horizontal scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.ey;
        },
        set: function (v) {
            this.i.ey = ensureBool(v);
            this._a("horizontalViewScrollbarShouldAddAutoTrackInsets", this.i.ey);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarFill", {
        /**
         * Gets or sets the fill to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return brushToString(this.i.v5);
        },
        set: function (v) {
            this.i.v5 = stringToBrush(v);
            this._a("verticalViewScrollbarFill", brushToString(this.i.v5));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarOutline", {
        /**
         * Gets or sets the outline to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return brushToString(this.i.v6);
        },
        set: function (v) {
            this.i.v6 = stringToBrush(v);
            this._a("verticalViewScrollbarOutline", brushToString(this.i.v6));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarStrokeThickness", {
        /**
         * Gets or sets the stroke thickness to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.io;
        },
        set: function (v) {
            this.i.io = +v;
            this._a("verticalViewScrollbarStrokeThickness", this.i.io);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarMaxOpacity", {
        /**
         * Gets or sets the max opacity to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.im;
        },
        set: function (v) {
            this.i.im = +v;
            this._a("verticalViewScrollbarMaxOpacity", this.i.im);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarCornerRadius", {
        /**
         * Gets or sets the corner radius to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.ik;
        },
        set: function (v) {
            this.i.ik = +v;
            this._a("verticalViewScrollbarCornerRadius", this.i.ik);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarWidth", {
        /**
         * Gets or sets the width to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.ir;
        },
        set: function (v) {
            this.i.ir = +v;
            this._a("verticalViewScrollbarWidth", this.i.ir);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarInset", {
        /**
         * Gets or sets the inset distance to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.il;
        },
        set: function (v) {
            this.i.il = +v;
            this._a("verticalViewScrollbarInset", this.i.il);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarTrackStartInset", {
        /**
         * Gets or sets the track start inset to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.iq;
        },
        set: function (v) {
            this.i.iq = +v;
            this._a("verticalViewScrollbarTrackStartInset", this.i.iq);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarTrackEndInset", {
        /**
         * Gets or sets the track end inset to use for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.ip;
        },
        set: function (v) {
            this.i.ip = +v;
            this._a("verticalViewScrollbarTrackEndInset", this.i.ip);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalViewScrollbarShouldAddAutoTrackInsets", {
        /**
         * Gets or sets whether to use automatic track insets for the vertical scrollbar in the component, when enabled.
        */
        get: function () {
            return this.i.gj;
        },
        set: function (v) {
            this.i.gj = ensureBool(v);
            this._a("verticalViewScrollbarShouldAddAutoTrackInsets", this.i.gj);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "highlightingBehavior", {
        /**
         * Gets or sets the highlighting Behavior to use for the series in the component, when supported. This takes precedence over the series level IsHighlightingEnabled.
        */
        get: function () {
            return this.i.bw;
        },
        set: function (v) {
            this.i.bw = ensureEnum(SeriesHighlightingBehavior_$type, v);
            this._a("highlightingBehavior", enumToString(SeriesHighlightingBehavior_$type, this.i.bw));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "legendHighlightingMode", {
        /**
         * Gets or sets the highlighting mode to use for the legend linked to the component, when supported.
        */
        get: function () {
            return this.i.bd;
        },
        set: function (v) {
            this.i.bd = ensureEnum(LegendHighlightingMode_$type, v);
            this._a("legendHighlightingMode", enumToString(LegendHighlightingMode_$type, this.i.bd));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "legendItemBadgeShape", {
        /**
         * Gets or sets type of legend badges representing all series displayed in a legend linked to this component
         * This property will be ignored when the LegendItemTemplate or LegendItemBadgeTemplate property is set on a series
        */
        get: function () {
            return this.i.bf;
        },
        set: function (v) {
            this.i.bf = ensureEnum(LegendItemBadgeShape_$type, v);
            this._a("legendItemBadgeShape", enumToString(LegendItemBadgeShape_$type, this.i.bf));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "legendItemBadgeMode", {
        /**
         * Gets or sets the mode of legend badges representing all series in this chart.
         * This property will be ignored when the LegendItemTemplate or LegendItemBadgeTemplate property is set on a series
        */
        get: function () {
            return this.i.be;
        },
        set: function (v) {
            this.i.be = ensureEnum(LegendItemBadgeMode_$type, v);
            this._a("legendItemBadgeMode", enumToString(LegendItemBadgeMode_$type, this.i.be));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "fireMouseLeaveOnManipulationStart", {
        /**
         * Gets or sets how the mouse leave event fires when a manipulation is started.
        */
        get: function () {
            return this.i.ev;
        },
        set: function (v) {
            this.i.ev = ensureBool(v);
            this._a("fireMouseLeaveOnManipulationStart", this.i.ev);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "viewportRect", {
        /**
         * Gets the viewport rectangle associated with the SeriesViewer, the physical dimensions of the plot area.
        */
        get: function () {
            return fromRect(this.i.wz);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "effectiveViewport", {
        /**
         * Gets the EffectiveViewport rectangle, representing the effective viewport area after margins have been subtracted.
        *
        *  ``ts
        * let viewport: IgxRect = this.chart.effectiveViewport;
        *
        * ```
        *
        * ```
        */
        get: function () {
            return fromRect(this.i.wl);
        },
        set: function (v) {
            this.i.wl = toRect(v);
            this._a("effectiveViewport", rectToString(this.i.wl));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "contentViewport", {
        /**
         * Represents the subset area within the viewport into which content should be mapped.
         * This is the projection of the current EffectiveViewport into the viewport at current zoom level.
        */
        get: function () {
            return fromRect(this.i.wk);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowRect", {
        /**
         * A rectangle representing the portion of the SeriesViewer currently in view.
         * A rectangle at X=0, Y=0 with a Height and Width of 1 implies the entire plotting area is in view.  A Height and Width of .5 would imply that the view is halfway zoomed in.
        *
        * You can set the `WindowRect` to zoom in on an area of interest in the chart.
        *
        * ```ts
        * this.chart.windowRect = {left:0, top:1, width: .5, height: .5};
        * ```
        */
        get: function () {
            return fromRect(this.i.w0);
        },
        set: function (v) {
            this.i.w0 = toRect(v);
            this._a("windowRect", rectToString(this.i.w0));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "useTiledZooming", {
        /**
         * Gets or sets whether the series viewer should use cached tiles during zooms rather than the default live content.
        */
        get: function () {
            return this.i.gi;
        },
        set: function (v) {
            this.i.gi = ensureBool(v);
            this._a("useTiledZooming", this.i.gi);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "preferHigherResolutionTiles", {
        /**
         * Gets or sets whether the series viewer should prefer selecting higher resolution tiles over lower resolution tiles when performing tile zooming. Setting this to true will lower performance but increase quality.
        */
        get: function () {
            return this.i.fz;
        },
        set: function (v) {
            this.i.fz = ensureBool(v);
            this._a("preferHigherResolutionTiles", this.i.fz);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "zoomTileCacheSize", {
        /**
         * Gets or sets the maximum number of zoom tiles that the series viewer should cache while in tiled zooming mode.
        */
        get: function () {
            return this.i.jd;
        },
        set: function (v) {
            this.i.jd = +v;
            this._a("zoomTileCacheSize", this.i.jd);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "highlightingTransitionDuration", {
        /**
         * Gets or sets the duration the highlighting/de-highlighting effects.
        *
        * The `HighlightingTransitionDuration` property is used to set the time for highlighting transition in milliseconds .
        *
        * ```ts
        * chart.HighlightingTransitionDuration=500;
        * ```
        */
        get: function () {
            return this.i.i9;
        },
        set: function (v) {
            this.i.i9 = +v;
            this._a("highlightingTransitionDuration", this.i.i9);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectionTransitionDuration", {
        /**
         * Gets or sets the duration the selection/de-Selection effects.
        */
        get: function () {
            return this.i.jc;
        },
        set: function (v) {
            this.i.jc = +v;
            this._a("selectionTransitionDuration", this.i.jc);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectionDismissDelayMilliseconds", {
        /**
         * Gets or sets the amount of time to delay before dismissing a selection effect.
        */
        get: function () {
            return this.i.jb;
        },
        set: function (v) {
            this.i.jb = +v;
            this._a("selectionDismissDelayMilliseconds", this.i.jb);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "highlightingDismissDelayMilliseconds", {
        /**
         * Gets or sets the amount of time to delay before dismissing a selection effect.
        */
        get: function () {
            return this.i.i8;
        },
        set: function (v) {
            this.i.i8 = +v;
            this._a("highlightingDismissDelayMilliseconds", this.i.i8);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "focusDismissDelayMilliseconds", {
        /**
         * Gets or sets the amount of time to delay before dismissing a selection effect.
        */
        get: function () {
            return this.i.i5;
        },
        set: function (v) {
            this.i.i5 = +v;
            this._a("focusDismissDelayMilliseconds", this.i.i5);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "focusTransitionDuration", {
        /**
         * Gets or sets the duration the Focus/de-Focus effects.
        */
        get: function () {
            return this.i.i6;
        },
        set: function (v) {
            this.i.i6 = +v;
            this._a("focusTransitionDuration", this.i.i6);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "scrollbarsAnimationDuration", {
        /**
         * Gets or sets the duration of the scrollbar effects.
        */
        get: function () {
            return this.i.ja;
        },
        set: function (v) {
            this.i.ja = +v;
            this._a("scrollbarsAnimationDuration", this.i.ja);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "isPagePanningAllowed", {
        /**
         * Gets or sets the whether the series viewer can allow the page to pan if a control pan is not possible in the requested direction.
        */
        get: function () {
            return this.i.fe;
        },
        set: function (v) {
            this.i.fe = ensureBool(v);
            this._a("isPagePanningAllowed", this.i.fe);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "contentHitTestMode", {
        /**
         * Determines the method of hit testing used when mousing over elements in the chart.
        *
        * ```ts
        * this.chart.contentHitTestMode = ChartHitTestMode.Computational;
        * ```
        */
        get: function () {
            return this.i.av;
        },
        set: function (v) {
            this.i.av = ensureEnum(ChartHitTestMode_$type, v);
            this._a("contentHitTestMode", enumToString(ChartHitTestMode_$type, this.i.av));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualContentHitTestMode", {
        /**
         * Resolved method of hit testing used when the pointer is over elements in the chart.
        *
        * ```ts
        * let actualContentHitTestMode: ChartHitTestMode  =this.chart.actualContentHitTestMode;
        * ```
        */
        get: function () {
            return this.i.au;
        },
        set: function (v) {
            this.i.au = ensureEnum(ChartHitTestMode_$type, v);
            this._a("actualContentHitTestMode", enumToString(ChartHitTestMode_$type, this.i.au));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "isSurfaceInteractionDisabled", {
        /**
         * Gets or sets whether all surface interactions with the plot area should be disabled.
        *
        * The `IsSurfaceInteractionDisabled` property is used to enable/disable interactions with the plot surface.
        *
        * ```ts
        * chart.isSurfaceInteractionDisabled=true;
        * ```
        */
        get: function () {
            return this.i.ff;
        },
        set: function (v) {
            this.i.ff = ensureBool(v);
            this._a("isSurfaceInteractionDisabled", this.i.ff);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "isMap", {
        /**
         * Indicates if this SeriesViewer is a map.
        */
        get: function () {
            return this.i.fd;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowResponse", {
        /**
         * The response to user panning and zooming: whether to update the view immediately while the user action is happening, or to defer the update to after the user action is complete.  The user action will be an action such as a mouse drag which causes panning and/or zooming to occur.
        *
        * The `WindowResponse` property is used to set the response to user panning and zooming: whether to update the view immediately while the user action is happening, or to defer the update to after the user action is complete.
        * The user action will be an action such as a mouse drag which causes panning and/or zooming to occur.
        *
        * ```ts
        * this.chart.windowResponse="deferred";
        * ```
        */
        get: function () {
            return this.i.cp;
        },
        set: function (v) {
            this.i.cp = ensureEnum(WindowResponse_$type, v);
            this._a("windowResponse", enumToString(WindowResponse_$type, this.i.cp));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowRectMinWidth", {
        /**
         * Sets or gets the minimum width that the window rect is allowed to reach before being clamped.
         * Decrease this value if you want to allow for further zooming into the viewer.
         * If this value is lowered too much it can cause graphical corruption due to floating point arithmetic inaccuracy.
         * This property accepts values between 0.0 (max zooming) and 1.0 (no zooming)
        *
        * The `WindowRectMinWidth` property is used to set or get the minimum width that the window rect is allowed to reach before being clamped.
        *
        * ```ts
        * this.chart.WindowRectMinWidth=".2";
        * ```
        */
        get: function () {
            return this.i.iv;
        },
        set: function (v) {
            this.i.iv = +v;
            this._a("windowRectMinWidth", this.i.iv);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowRectMinHeight", {
        /**
         * Sets or gets the minimum height that the window rect is allowed to reach before being clamped.
         * Decrease this value if you want to allow for further zooming into the viewer.
         * If this value is lowered too much it can cause graphical corruption due to floating point arithmetic inaccuracy.
         * This property accepts values between 0.0 (max zooming) and 1.0 (no zooming)
        */
        get: function () {
            return this.i.iu;
        },
        set: function (v) {
            this.i.iu = +v;
            this._a("windowRectMinHeight", this.i.iu);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualWindowRectMinWidth", {
        /**
         * Gets the actual minimum width that the window rect is allowed to reach before being clamped.
        */
        get: function () {
            return this.i.ho;
        },
        set: function (v) {
            this.i.ho = +v;
            this._a("actualWindowRectMinWidth", this.i.ho);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualWindowRectMinHeight", {
        /**
         * Gets the actual minimum height that the window rect is allowed to reach before being clamped.
        */
        get: function () {
            return this.i.hn;
        },
        set: function (v) {
            this.i.hn = +v;
            this._a("actualWindowRectMinHeight", this.i.hn);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowSizeMinWidth", {
        /**
         * Sets or gets minimum pixel width that the window is allowed to reach before being clamped.
         * Decrease this value if you want to allow for further zooming into the viewer.
         * If this value is lowered too much it can cause graphical corruption due to floating point arithmetic inaccuracy.
         * This property is overridden by the WindowRectMinWidth property
        */
        get: function () {
            return this.i.ix;
        },
        set: function (v) {
            this.i.ix = +v;
            this._a("windowSizeMinWidth", this.i.ix);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowSizeMinHeight", {
        /**
         * Sets or gets minimum pixel height that the window is allowed to reach before being clamped.
         * Decrease this value if you want to allow for further zooming into the viewer.
         * If this value is lowered too much it can cause graphical corruption due to floating point arithmetic inaccuracy.
         * This property is overridden by the WindowRectMinHeight property
        */
        get: function () {
            return this.i.iw;
        },
        set: function (v) {
            this.i.iw = +v;
            this._a("windowSizeMinHeight", this.i.iw);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "crosshairVisibility", {
        /**
         * Gets or sets the current SeriesViewer's crosshair visibility override.
        *
        * The `CrosshairVisibility` property is used to gets or sets the current Chart's crosshair visibility override. Note: setting this property does not affect the mobile browser version of the chart.
        *
        * ```ts
        * this.chart.crosshairVisibility = Visibility.Visible;
        * ```
        */
        get: function () {
            return this.i.w4;
        },
        set: function (v) {
            this.i.w4 = ensureEnum(Visibility_$type, v);
            this._a("crosshairVisibility", enumToString(Visibility_$type, this.i.w4));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "horizontalCrosshairBrush", {
        /**
         * Gets or sets the current SeriesViewer's crosshair horizontal brush override.
        */
        get: function () {
            return brushToString(this.i.vu);
        },
        set: function (v) {
            this.i.vu = stringToBrush(v);
            this._a("horizontalCrosshairBrush", brushToString(this.i.vu));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "verticalCrosshairBrush", {
        /**
         * Gets or sets the current SeriesViewer's crosshair vertical brush override.
        */
        get: function () {
            return brushToString(this.i.v4);
        },
        set: function (v) {
            this.i.v4 = stringToBrush(v);
            this._a("verticalCrosshairBrush", brushToString(this.i.v4));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "zoomCoercionMode", {
        /**
         * Gets or sets zoom is constrained to within the axes. Setting this to false is a preview feature at the present time.
        */
        get: function () {
            return this.i.ct;
        },
        set: function (v) {
            this.i.ct = ensureEnum(ZoomCoercionMode_$type, v);
            this._a("zoomCoercionMode", enumToString(ZoomCoercionMode_$type, this.i.ct));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaBackground", {
        /**
         * Gets or sets the brush used as the background for the current SeriesViewer object's plot area.
        *
        * `PlotAreaBackground` property set the background brush to the current Chart object's plot area.
        *
        * ```ts
        * this.chart.plotAreaBackground="#F0F8FF";
        * ```
        */
        get: function () {
            return brushToString(this.i.vx);
        },
        set: function (v) {
            this.i.vx = stringToBrush(v);
            this._a("plotAreaBackground", brushToString(this.i.vx));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "shouldMatchZOrderToSeriesOrder", {
        /**
         * Gets or sets whether to match the z order of the series to their positional order in the series collection, regardless of mutation.
        */
        get: function () {
            return this.i.f5;
        },
        set: function (v) {
            this.i.f5 = ensureBool(v);
            this._a("shouldMatchZOrderToSeriesOrder", this.i.f5);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "defaultInteraction", {
        /**
         * Gets or sets the DefaultInteraction property.
         * The default interaction state defines the SeriesViewer's response to mouse events.
        *
        * The default interaction state defines the chart's response to mouse events.
        *
        * ```ts
        * this.chart.defaultInteraction = InteractionState.DragPan;
        * ```
        */
        get: function () {
            return this.i.cw;
        },
        set: function (v) {
            this.i.cw = ensureEnum(InteractionState_$type, v);
            this._a("defaultInteraction", enumToString(InteractionState_$type, this.i.cw));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "interactionOverride", {
        /**
         * Gets or sets the InteractionOverride property.
         * The interaction override overrides the default interaction and modifiers keys and defines the SeriesViewer's response to mouse events.
        */
        get: function () {
            return this.i.cx;
        },
        set: function (v) {
            this.i.cx = ensureEnum(InteractionState_$type, v);
            this._a("interactionOverride", enumToString(InteractionState_$type, this.i.cx));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "rightButtonDefaultInteraction", {
        /**
         * Gets or sets the RightButtonDefaultInteraction property.
         * The default interaction state defines the SeriesViewer's response to right button mouse events.
        */
        get: function () {
            return this.i.cz;
        },
        set: function (v) {
            this.i.cz = ensureEnum(InteractionState_$type, v);
            this._a("rightButtonDefaultInteraction", enumToString(InteractionState_$type, this.i.cz));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "dragModifier", {
        /**
         * Gets or sets the current SeriesViewer's DragModifier property.
        *
        * `DragModifier` is useful to enable zooming when zooming is not the default interaction.
        *
        * ```ts
        * this.chart.dragModifier = ModifierKeys.Alt;
        * ```
        */
        get: function () {
            return this.i.ve;
        },
        set: function (v) {
            this.i.ve = ensureEnum(ModifierKeys_$type, v);
            this._a("dragModifier", enumToString(ModifierKeys_$type, this.i.ve));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "panModifier", {
        /**
         * Gets or sets the current SeriesViewer's PanModifier property.
        *
        * `PanModifier` is useful to enable panning when panning is not the default interaction.
        *
        * ```ts
        * this.chart.panModifier = ModifierKeys.Alt;
        * ```
        */
        get: function () {
            return this.i.vf;
        },
        set: function (v) {
            this.i.vf = ensureEnum(ModifierKeys_$type, v);
            this._a("panModifier", enumToString(ModifierKeys_$type, this.i.vf));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectionModifier", {
        /**
         * Gets or sets the current SeriesViewer's SelectionModifier property.
        */
        get: function () {
            return this.i.vg;
        },
        set: function (v) {
            this.i.vg = ensureEnum(ModifierKeys_$type, v);
            this._a("selectionModifier", enumToString(ModifierKeys_$type, this.i.vg));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "previewRect", {
        /**
         * Gets or sets the preview rectangle.
         * The preview rectangle may be set to Rect.Empty, in which case the visible preview
         * strokePath is hidden.
        *
        * `PreviewRect` can be used to highlight an area of importance.
        *
        * ```ts
        * this.chart.previewRect = {left:0,top:0,height:.5,width:.5};
        * ```
        */
        get: function () {
            return fromRect(this.i.ws);
        },
        set: function (v) {
            this.i.ws = toRect(v);
            this._a("previewRect", rectToString(this.i.ws));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "highlightedValuesDisplayMode", {
        /**
         * Gets or sets whether and how to display highlighted values for the series by default. Note, this is distinct from the highlighting feature that indicates what is closest or under the mouse.
        */
        get: function () {
            return this.i.bt;
        },
        set: function (v) {
            this.i.bt = ensureEnum(SeriesHighlightedValuesDisplayMode_$type, v);
            this._a("highlightedValuesDisplayMode", enumToString(SeriesHighlightedValuesDisplayMode_$type, this.i.bt));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectedSeriesItems", {
        /**
         * Gets the currently selected data items.  Adding or removing data items from this collection will
         * select or deselect the visuals associated with those items.
        */
        get: function () {
            if (this._selectedSeriesItems === null) {
                var coll = new IgcChartSelectedItemCollection();
                var innerColl = this.i.selectedSeriesItems;
                if (!innerColl) {
                    innerColl = new ChartSelectedItemCollection_internal();
                }
                this._selectedSeriesItems = coll._fromInner(innerColl);
                this.i.selectedSeriesItems = innerColl;
            }
            return this._selectedSeriesItems;
        },
        set: function (v) {
            if (this._selectedSeriesItems !== null) {
                this._selectedSeriesItems._setSyncTarget(null);
                this._selectedSeriesItems = null;
            }
            var coll = new IgcChartSelectedItemCollection();
            this._selectedSeriesItems = coll._fromOuter(v);
            var syncColl = new SyncableObservableCollection$1(ChartSelection.$type);
            var innerColl = this.i.selectedSeriesItems;
            if (!innerColl) {
                innerColl = new ChartSelectedItemCollection_internal();
            }
            syncColl._inner = innerColl;
            syncColl.clear();
            this._selectedSeriesItems._setSyncTarget(syncColl);
            this.i.selectedSeriesItems = innerColl;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "focusedSeriesItems", {
        /**
         * Gets the currently focused data items.  Adding or removing data items from this collection will
         * focus or blur the visuals associated with those items.
        */
        get: function () {
            if (this._focusedSeriesItems === null) {
                var coll = new IgcChartSelectedItemCollection();
                var innerColl = this.i.focusedSeriesItems;
                if (!innerColl) {
                    innerColl = new ChartSelectedItemCollection_internal();
                }
                this._focusedSeriesItems = coll._fromInner(innerColl);
                this.i.focusedSeriesItems = innerColl;
            }
            return this._focusedSeriesItems;
        },
        set: function (v) {
            if (this._focusedSeriesItems !== null) {
                this._focusedSeriesItems._setSyncTarget(null);
                this._focusedSeriesItems = null;
            }
            var coll = new IgcChartSelectedItemCollection();
            this._focusedSeriesItems = coll._fromOuter(v);
            var syncColl = new SyncableObservableCollection$1(ChartSelection.$type);
            var innerColl = this.i.focusedSeriesItems;
            if (!innerColl) {
                innerColl = new ChartSelectedItemCollection_internal();
            }
            syncColl._inner = innerColl;
            syncColl.clear();
            this._focusedSeriesItems._setSyncTarget(syncColl);
            this.i.focusedSeriesItems = innerColl;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowPositionHorizontal", {
        /**
         * A number between 0 and 1 determining the position of the horizontal scroll.
         * This property is effectively a shortcut to the X position of the WindowRect property.
        *
        * ```ts
        * this.chart.windowPositionHorizontal = .2;
        * ```
        */
        get: function () {
            return this.i.is;
        },
        set: function (v) {
            this.i.is = +v;
            this._a("windowPositionHorizontal", this.i.is);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowPositionVertical", {
        /**
         * A number between 0 and 1 determining the position of the vertical scroll.
         * This property is effectively a shortcut to the Y position of the WindowRect property.
        *
        * ```ts
        * this.chart.windowPositionVertical = .2;
        * ```
        */
        get: function () {
            return this.i.it;
        },
        set: function (v) {
            this.i.it = +v;
            this._a("windowPositionVertical", this.i.it);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectionBrush", {
        /**
         * Gets or sets the selection brush to use for the series.
        */
        get: function () {
            return brushToString(this.i.v1);
        },
        set: function (v) {
            this.i.v1 = stringToBrush(v);
            this._a("selectionBrush", brushToString(this.i.v1));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "focusBrush", {
        /**
         * Gets or sets the Focus brush to use for the series.
        */
        get: function () {
            return brushToString(this.i.vk);
        },
        set: function (v) {
            this.i.vk = stringToBrush(v);
            this._a("focusBrush", brushToString(this.i.vk));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "chartTitle", {
        /**
         * Text to display above the plot area.
        *
        * The `Title` property is used to set the title to display for the component.
        *
        * ```ts
        * this.chart.title="Items Sold";
        * ```
        */
        get: function () {
            return this.i.mc;
        },
        set: function (v) {
            this.i.mc = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleHorizontalAlignment", {
        /**
         * Gets or sets the TitleHorizontalAlignment property.
        *
        * The `subtitleHorizontalAlignment` property is used to set horizontal alignment for the subtitle.
        *
        * ```ts
        * this.chart.titleHorizontalAlignment="left";
        * ```
        */
        get: function () {
            return this.i.vd;
        },
        set: function (v) {
            this.i.vd = ensureEnum(HorizontalAlignment_$type, v);
            this._a("titleHorizontalAlignment", enumToString(HorizontalAlignment_$type, this.i.vd));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleHorizontalAlignment", {
        /**
         * Gets or sets the SubtitleHorizontalAlignment property.
        *
        * The `subtitleBottomMargin` property is used to set the horizontal alignment for the subtitle.
        *
        * ```ts
        * this.chart.subtitleHorizontalAlignment="left";
        * ```
        */
        get: function () {
            return this.i.vc;
        },
        set: function (v) {
            this.i.vc = ensureEnum(HorizontalAlignment_$type, v);
            this._a("subtitleHorizontalAlignment", enumToString(HorizontalAlignment_$type, this.i.vc));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleTextStyle", {
        /**
         * Font settings for the title.
        */
        get: function () {
            return this.i.mj;
        },
        set: function (v) {
            this.i.mj = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleTextStyle", {
        /**
         * Font settings for the subtitle.
        */
        get: function () {
            return this.i.l7;
        },
        set: function (v) {
            this.i.l7 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleTextColor", {
        /**
         * Gets or sets the Color used for the Title Text.
        *
        * The `titleTextColor` property is used to set the title brush.
        *
        * ```ts
        * this.chart.titleTextColor="blue" ;
        * ```
        */
        get: function () {
            return brushToString(this.i.v3);
        },
        set: function (v) {
            this.i.v3 = stringToBrush(v);
            this._a("titleTextColor", brushToString(this.i.v3));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleTextColor", {
        /**
         * Gets or sets the Color used for the Subtitle Text.
        *
        * The `subtitleTextColor` property is used to set the color for the subtitle.
        *
        * ```ts
        * this.chart.subtitleTextColor="blue";
        * ```
        */
        get: function () {
            return brushToString(this.i.v2);
        },
        set: function (v) {
            this.i.v2 = stringToBrush(v);
            this._a("subtitleTextColor", brushToString(this.i.v2));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleTopMargin", {
        /**
         * Margin applied above the title.
        *
        * The `titleTopMargin` property is used to set the top margin for the title.
        *
        * ```ts
        * this.chart.titleTopMargin=10;
        * ```
        */
        get: function () {
            return this.i.ii;
        },
        set: function (v) {
            this.i.ii = +v;
            this._a("titleTopMargin", this.i.ii);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleLeftMargin", {
        /**
         * Margin applied to the left of the title.
        *
        * The `titleLeftMarging` property is used to set the left margin for the title.
        *
        * ```ts
        * this.chart.titleLeftMarging=10;
        * ```
        */
        get: function () {
            return this.i.ig;
        },
        set: function (v) {
            this.i.ig = +v;
            this._a("titleLeftMargin", this.i.ig);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleRightMargin", {
        /**
         * Margin applied to the right of the title.
        *
        * The `titleRightMargin` property is used to set the right margin for the title.
        *
        * ```ts
        * this.chart.titleRightMargin=10;
        * ```
        */
        get: function () {
            return this.i.ih;
        },
        set: function (v) {
            this.i.ih = +v;
            this._a("titleRightMargin", this.i.ih);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "titleBottomMargin", {
        /**
         * Margin applied below the title.
        *
        * The `titleBottomMargin` property is used to set the bottom margin for the title.
        *
        * ```ts
        * this.chart.titleBottomMargin=20;
        * ```
        */
        get: function () {
            return this.i.ie;
        },
        set: function (v) {
            this.i.ie = +v;
            this._a("titleBottomMargin", this.i.ie);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleTopMargin", {
        /**
         * Margin applied above the subtitle.
        *
        * The `subtitleTopMargin` property is used to set the top margin for the subtitle.
        *
        * ```ts
        * this.chart.subtitleTopMargin =10;
        * ```
        */
        get: function () {
            return this.i.id;
        },
        set: function (v) {
            this.i.id = +v;
            this._a("subtitleTopMargin", this.i.id);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleLeftMargin", {
        /**
         * Margin applied to the left of the subtitle.
        *
        * The `subtitleLeftMarging` property is used to set the left margin for the subtitle.
        *
        * ```ts
        * this.chart.subtitleLeftMarging=10;
        * ```
        */
        get: function () {
            return this.i.ib;
        },
        set: function (v) {
            this.i.ib = +v;
            this._a("subtitleLeftMargin", this.i.ib);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleRightMargin", {
        /**
         * Margin applied to the right of the subtitle.
        *
        * The `subTitleRightMargin` property is used to set the right margin for the subtitle.
        *
        * ```ts
        * this.chart.subtitleLeftMarging=10;
        * ```
        */
        get: function () {
            return this.i.ic;
        },
        set: function (v) {
            this.i.ic = +v;
            this._a("subtitleRightMargin", this.i.ic);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitleBottomMargin", {
        /**
         * Margin applied below the subtitle.
        *
        * The `subtitleBottomMargin` property is used to set the bottom margin for the subtitle.
        *
        * ```ts
        * this.chart.subtitleBottomMargin = 20;
        * ```
        */
        get: function () {
            return this.i.ia;
        },
        set: function (v) {
            this.i.ia = +v;
            this._a("subtitleBottomMargin", this.i.ia);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "subtitle", {
        /**
         * Gets or sets the Subtitle property.
         * The Title property defines the Subtitle of the chart
        *
        * The `Subtitle` property is used to display subtitle for the component.
        *
        * ```ts
        * this.chart.subtitle="Date of Sale: 1/1/2018";
        * ```
        */
        get: function () {
            return this.i.l0;
        },
        set: function (v) {
            this.i.l0 = v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "topMargin", {
        /**
         * Sets or gets the top margin to use around the chart content.
        *
        * The `topMargin` property is used to set the top margin.
        *
        * ```ts
        * this.chart.topMargin=30;
        * ```
        */
        get: function () {
            return this.i.ij;
        },
        set: function (v) {
            this.i.ij = +v;
            this._a("topMargin", this.i.ij);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "leftMargin", {
        /**
         * Sets or gets the left margin to use around the chart content.
        *
        * The `LeftMargin` property is used to set the left margin.
        *
        * ```ts
        *  this.chart.leftMargin = 20;
        * ```
        */
        get: function () {
            return this.i.h4;
        },
        set: function (v) {
            this.i.h4 = +v;
            this._a("leftMargin", this.i.h4);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "rightMargin", {
        /**
         * Sets or gets the right margin to use around the chart content.
        *
        * The `RightMargin` property is used to set the left margin around the chart content in the canvas.
        *
        * ```ts
        * this.chart.rightMargin=20;
        * ```
        */
        get: function () {
            return this.i.h9;
        },
        set: function (v) {
            this.i.h9 = +v;
            this._a("rightMargin", this.i.h9);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "bottomMargin", {
        /**
         * Sets or gets the bottom margin to use around the chart content.
        *
        * The `bottomMargin` property is used to gets/set the bottom margin around the chart content in the canvas.
        *
        * ```ts
        * this.chart.bottomMargin = 50;
        * ```
        */
        get: function () {
            return this.i.hr;
        },
        set: function (v) {
            this.i.hr = +v;
            this._a("bottomMargin", this.i.hr);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "autoMarginWidth", {
        /**
         * Sets or gets the automatic width to add when automatically adding margins to the chart.
        *
        * The `autoMarginWidth` propertry is used find the automatic width to add when automatically adding margins to the chart.
        *
        * ```ts
        * this.chart.autoMarginWidth = 50;
        * ```
        */
        get: function () {
            return this.i.hq;
        },
        set: function (v) {
            this.i.hq = +v;
            this._a("autoMarginWidth", this.i.hq);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "autoMarginHeight", {
        /**
         * Sets or gets the automatic height to add when automatically adding margins to the chart.
        *
        * ```ts
        *  this.chart.autoMarginHeight = 50;
        * ```
        */
        get: function () {
            return this.i.hp;
        },
        set: function (v) {
            this.i.hp = +v;
            this._a("autoMarginHeight", this.i.hp);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "isAntiAliasingEnabledDuringInteraction", {
        /**
         * Gets or sets the IsAntiAliasingEnabledDuringInteraction property.
        */
        get: function () {
            return this.i.e3;
        },
        set: function (v) {
            this.i.e3 = ensureBool(v);
            this._a("isAntiAliasingEnabledDuringInteraction", this.i.e3);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "pixelScalingRatio", {
        /**
         * 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: function () {
            return this.i.h5;
        },
        set: function (v) {
            this.i.h5 = +v;
            this._a("pixelScalingRatio", this.i.h5);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "interactionPixelScalingRatio", {
        /**
         * Method of pixel scaling to use during end user interaction with the chart.
        */
        get: function () {
            return this.i.h3;
        },
        set: function (v) {
            this.i.h3 = +v;
            this._a("interactionPixelScalingRatio", this.i.h3);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualPixelScalingRatio", {
        /**
         * Gets the resolved pixel scaling ratio.
        *
        * A higher scaling ratio will produce crisper visuals at the expense of memory. Lower values will cause the control to appear blurry
        *
        * ```ts
        * let actualPixelScalingRatio: number = this.chart.actualPixelScalingRatio;
        * ```
        */
        get: function () {
            return this.i.hk;
        },
        set: function (v) {
            this.i.hk = +v;
            this._a("actualPixelScalingRatio", this.i.hk);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualInteractionPixelScalingRatio", {
        /**
         * Resolved method of pixel scaling to use during end user interaction with the chart.
        *
        * ```ts
        * let actualInteractionPixelScalingRatio: number = this.chart.actualInteractionPixelScalingRatio;
        * ```
        */
        get: function () {
            return this.i.hj;
        },
        set: function (v) {
            this.i.hj = +v;
            this._a("actualInteractionPixelScalingRatio", this.i.hj);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "shouldPanOnMaximumZoom", {
        /**
         * Gets or sets a whether the chart should pan its content when zooming in passed max zoom level.
        */
        get: function () {
            return this.i.f6;
        },
        set: function (v) {
            this.i.f6 = ensureBool(v);
            this._a("shouldPanOnMaximumZoom", this.i.f6);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualWindowRect", {
        /**
         * Gets the actual value of the window rectangle, which represents the current zoom level.
        */
        get: function () {
            return fromRect(this.i.wh);
        },
        set: function (v) {
            this.i.wh = toRect(v);
            this._a("actualWindowRect", rectToString(this.i.wh));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualWindowPositionHorizontal", {
        /**
         * A number between 0 and 1 determining the position of the horizontal scroll.
         * This property is effectively a shortcut to the Left of the ActualWindowRect property.
        *
        * ```ts
        * let actualWindowPositionHorizontal: number = this.chart.actualWindowPositionHorizontal;
        * ```
        */
        get: function () {
            return this.i.hl;
        },
        set: function (v) {
            this.i.hl = +v;
            this._a("actualWindowPositionHorizontal", this.i.hl);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualWindowPositionVertical", {
        /**
         * A number between 0 and 1 determining the position of the vertical scroll.
         * This property is effectively a shortcut to the Top of the ActualWindowRect property.
        *
        * ```ts
        * let actualWindowPositionVertical: number = this.chart.actualWindowPositionVertical;
        * ``
        * ```
        */
        get: function () {
            return this.i.hm;
        },
        set: function (v) {
            this.i.hm = +v;
            this._a("actualWindowPositionVertical", this.i.hm);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "previewPathStroke", {
        /**
         * Gets or sets the brush used as the border for the current SeriesViewer object's preview path.
         * Null is treated as auto.
        */
        get: function () {
            return brushToString(this.i.v0);
        },
        set: function (v) {
            this.i.v0 = stringToBrush(v);
            this._a("previewPathStroke", brushToString(this.i.v0));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "previewPathFill", {
        /**
         * Gets or sets the brush used as the fill for the current SeriesViewer object's preview path.
         * Null is treated as auto.
        */
        get: function () {
            return brushToString(this.i.vz);
        },
        set: function (v) {
            this.i.vz = stringToBrush(v);
            this._a("previewPathFill", brushToString(this.i.vz));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "previewPathOpacity", {
        /**
         * Gets or sets the opacity used as for the fill for the current SeriesViewer object's preview path.
         * Null is treated as auto.
        */
        get: function () {
            return this.i.h6;
        },
        set: function (v) {
            this.i.h6 = +v;
            this._a("previewPathOpacity", this.i.h6);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "isDetached", {
        get: function () {
            return this.i.isDetached;
        },
        enumerable: false,
        configurable: true
    });
    IgcSeriesViewerComponent.prototype.findByName = function (name) {
        if (this.findEphemera) {
            if (name && name.indexOf("@@e:") == 0) {
                return this.findEphemera(name);
            }
        }
        if (this.series != null && this.series.findByName && this.series.findByName(name)) {
            return this.series.findByName(name);
        }
        if (this.legend && this.legend.name && this.legend.name == name) {
            return this.legend;
        }
        if (this.selectedSeriesItems != null && this.selectedSeriesItems.findByName && this.selectedSeriesItems.findByName(name)) {
            return this.selectedSeriesItems.findByName(name);
        }
        if (this.focusedSeriesItems != null && this.focusedSeriesItems.findByName && this.focusedSeriesItems.findByName(name)) {
            return this.focusedSeriesItems.findByName(name);
        }
        return null;
    };
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "hasUserValues", {
        get: function () {
            return this._hasUserValues;
        },
        enumerable: false,
        configurable: true
    });
    IgcSeriesViewerComponent.prototype.__m = function (propertyName) {
        if (!this._inStyling) {
            this._hasUserValues.add(propertyName);
        }
    };
    IgcSeriesViewerComponent.prototype._styling = function (container, component, parent) {
        if (this._inStyling) {
            return;
        }
        this._inStyling = true;
        this._stylingContainer = container;
        this._stylingParent = component;
        var genericPrefix = "";
        var typeName = this.i.$type.name;
        if (typeName.indexOf("Xam") === 0) {
            typeName = typeName.substring(3);
        }
        genericPrefix = toSpinal("SeriesViewerComponent");
        var additionalPrefixes = [];
        var prefix = toSpinal(typeName);
        additionalPrefixes.push(prefix + "-");
        var 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);
            }
            var basePrefix = toSpinal(typeName);
            additionalPrefixes.push(basePrefix + "-");
            b = b.baseType;
        }
        if (parent) {
            var parentTypeName = parent.i.$type.name;
            if (parentTypeName.indexOf("Xam") === 0) {
                parentTypeName = parentTypeName.substring(3);
            }
            var 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;
    };
    IgcSeriesViewerComponent.prototype.getDesiredToolbarActions = function () {
        var iv = this.i.getDesiredToolbarActions();
        return (iv);
    };
    IgcSeriesViewerComponent.prototype.addCommandAvailabilityListener = function (listener) {
        this.i.addCommandAvailabilityListener(listener);
    };
    IgcSeriesViewerComponent.prototype.removeCommandAvailabilityListener = function (listener) {
        this.i.removeCommandAvailabilityListener(listener);
    };
    IgcSeriesViewerComponent.prototype.addCommandStateChangedListener = function (listener) {
        this.i.addCommandStateChangedListener(listener);
    };
    IgcSeriesViewerComponent.prototype.removeCommandStateChangedListener = function (listener) {
        this.i.removeCommandStateChangedListener(listener);
    };
    /**
     * Hides the active main tooltip, if displayed.
    
    *
    * ```ts
    * this.chart.hideToolTip();
    * ```
    */
    IgcSeriesViewerComponent.prototype.hideToolTip = function () {
        this.i.n6();
    };
    IgcSeriesViewerComponent.prototype.simulateHover = function (point) {
        this.i.rp(toPoint(point));
    };
    IgcSeriesViewerComponent.prototype.queueForAnimationIdle = function (action, version) {
        this.i.queueForAnimationIdle(action, version);
    };
    IgcSeriesViewerComponent.prototype.getAnimationIdleVersionNumber = function () {
        var iv = this.i.getAnimationIdleVersionNumber();
        return (iv);
    };
    IgcSeriesViewerComponent.prototype.isAnimationActive = function () {
        var iv = this.i.isAnimationActive();
        return (iv);
    };
    /**
     * Manually starts a tiled zoom if one isn't already running.
    
    */
    IgcSeriesViewerComponent.prototype.startTiledZoomingIfNecessary = function () {
        this.i.rr();
    };
    /**
     * Manually ends a tiled zoom if one is running.
    
    */
    IgcSeriesViewerComponent.prototype.endTiledZoomingIfRunning = function () {
        this.i.nu();
    };
    /**
     * Clears the tile zoom tile cache so that new tiles will be generated. Only applies if the viewer is using a tile based zoom.
    
    */
    IgcSeriesViewerComponent.prototype.clearTileZoomCache = function () {
        this.i.no();
    };
    /**
     * Performs zoom in action on the chart by specified percentage of current window rect
    
    */
    IgcSeriesViewerComponent.prototype.zoomIn = function (percentage) {
        this.i.r8(percentage);
    };
    /**
     * Performs zoom out action on the chart by specified percentage of current window rect
    
    */
    IgcSeriesViewerComponent.prototype.zoomOut = function (percentage) {
        this.i.r9(percentage);
    };
    /**
     * Resets the zoom level to default.
    
    */
    IgcSeriesViewerComponent.prototype.resetZoom = function () {
        this.i.rh();
    };
    IgcSeriesViewerComponent.prototype.cancelManipulation = function () {
        this.i.nj();
    };
    /**
     * Gets actual window scale for horizontal dimension of the control
    
    *
    * ```ts
    * let actualWindowScaleHorizontal: number = chart.getActualWindowScaleHorizontal();
    * ```
    */
    IgcSeriesViewerComponent.prototype.getActualWindowScaleHorizontal = function () {
        var iv = this.i.hu();
        return (iv);
    };
    /**
     * Gets actual window scale for vertical dimension of the control
    
    *
    * ```ts
    * let actualWindowScaleVertical: number = chart.getActualWindowScaleVertical();
    * ```
    */
    IgcSeriesViewerComponent.prototype.getActualWindowScaleVertical = function () {
        var iv = this.i.hv();
        return (iv);
    };
    /**
     * Notification from the containing object that the container has been resized.
    
    */
    IgcSeriesViewerComponent.prototype.notifyContainerResized = function () {
        this.i.notifyContainerResized();
    };
    /**
     * Attaches the given series to the chart.
    
    * @param s  * The series to attach to the chart.
    */
    IgcSeriesViewerComponent.prototype.attachSeries = function (s) {
        this.i.nh((s == null ? null : s.i));
    };
    IgcSeriesViewerComponent.prototype.notifySetItem = function (source_, index, oldItem, newItem) {
        this.i.op(source_, index, oldItem, newItem);
    };
    /**
     * Used to manually notify the SeriesViewer that the data source has reset or cleared its items.  Invoking this method is only necessary if that datasource is not observable.
    
    * @param source_  * The data source which was cleared or reset.
    *
    * ```ts
    * this.chart.notifyClearItems(this.data);
    * ```
    */
    IgcSeriesViewerComponent.prototype.notifyClearItems = function (source_) {
        this.i.og(source_);
    };
    IgcSeriesViewerComponent.prototype.notifyInsertItem = function (source_, index, newItem) {
        this.i.on(source_, index, newItem);
    };
    IgcSeriesViewerComponent.prototype.notifyRemoveItem = function (source_, index, oldItem) {
        this.i.oo(source_, index, oldItem);
    };
    /**
     * Release any resources held by the control.
    
    */
    IgcSeriesViewerComponent.prototype.destroy = function () {
        this.i.destroy();
    };
    IgcSeriesViewerComponent.prototype.getCurrentActualWindowRect = function () {
        var iv = this.i.wo();
        return fromRect(iv);
    };
    IgcSeriesViewerComponent.prototype.renderToImage = function (width, height) {
        var iv = this.i.jg(width, height);
        return (iv);
    };
    /**
     * Use to force the SeriesViewer to finish any deferred work before printing or evaluating its visual.
     * This should only be called if the visual of the SeriesViewer needs to be synchronously saved or evaluated.
     * Calling this method too often will hinder the performance of the SeriesViewer.
    
    *
    * ```ts
    * this.chart.flush();
    * ```
    */
    IgcSeriesViewerComponent.prototype.flush = function () {
        this.i.flush();
    };
    IgcSeriesViewerComponent.prototype.captureImage = function (settings) {
        this.i.nk((settings == null ? null : settings.i));
    };
    IgcSeriesViewerComponent.prototype.notifySeriesDataChanged = function () {
        this.i.notifySeriesDataChanged();
    };
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaMouseLeftButtonDown", {
        /**
         * Occurs when the left mouse button is pressed while the mouse pointer is over the plot area.
        */
        get: function () {
            return this._plotAreaMouseLeftButtonDown;
        },
        set: function (ev) {
            var _this = this;
            if (this._plotAreaMouseLeftButtonDown_wrapped !== null) {
                this.i.plotAreaMouseLeftButtonDown = delegateRemove(this.i.plotAreaMouseLeftButtonDown, this._plotAreaMouseLeftButtonDown_wrapped);
                this._plotAreaMouseLeftButtonDown_wrapped = null;
                this._plotAreaMouseLeftButtonDown = null;
            }
            this._plotAreaMouseLeftButtonDown = ev;
            this._plotAreaMouseLeftButtonDown_wrapped = function (o, e) {
                var outerArgs = new IgcPlotAreaMouseButtonEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforePlotAreaMouseLeftButtonDown) {
                    _this.beforePlotAreaMouseLeftButtonDown(_this, outerArgs);
                }
                if (_this._plotAreaMouseLeftButtonDown) {
                    _this._plotAreaMouseLeftButtonDown(_this, outerArgs);
                }
            };
            this.i.plotAreaMouseLeftButtonDown = delegateCombine(this.i.plotAreaMouseLeftButtonDown, this._plotAreaMouseLeftButtonDown_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaMouseLeftButtonUp", {
        /**
         * Occurs when the left mouse button is pressed while the mouse pointer is over the plot area.
        */
        get: function () {
            return this._plotAreaMouseLeftButtonUp;
        },
        set: function (ev) {
            var _this = this;
            if (this._plotAreaMouseLeftButtonUp_wrapped !== null) {
                this.i.plotAreaMouseLeftButtonUp = delegateRemove(this.i.plotAreaMouseLeftButtonUp, this._plotAreaMouseLeftButtonUp_wrapped);
                this._plotAreaMouseLeftButtonUp_wrapped = null;
                this._plotAreaMouseLeftButtonUp = null;
            }
            this._plotAreaMouseLeftButtonUp = ev;
            this._plotAreaMouseLeftButtonUp_wrapped = function (o, e) {
                var outerArgs = new IgcPlotAreaMouseButtonEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforePlotAreaMouseLeftButtonUp) {
                    _this.beforePlotAreaMouseLeftButtonUp(_this, outerArgs);
                }
                if (_this._plotAreaMouseLeftButtonUp) {
                    _this._plotAreaMouseLeftButtonUp(_this, outerArgs);
                }
            };
            this.i.plotAreaMouseLeftButtonUp = delegateCombine(this.i.plotAreaMouseLeftButtonUp, this._plotAreaMouseLeftButtonUp_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaClicked", {
        /**
         * Occurs when the left mouse button is clicked while the mouse pointer is over the plot area.
        */
        get: function () {
            return this._plotAreaClicked;
        },
        set: function (ev) {
            var _this = this;
            if (this._plotAreaClicked_wrapped !== null) {
                this.i.plotAreaClicked = delegateRemove(this.i.plotAreaClicked, this._plotAreaClicked_wrapped);
                this._plotAreaClicked_wrapped = null;
                this._plotAreaClicked = null;
            }
            this._plotAreaClicked = ev;
            this._plotAreaClicked_wrapped = function (o, e) {
                var outerArgs = new IgcPlotAreaMouseButtonEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforePlotAreaClicked) {
                    _this.beforePlotAreaClicked(_this, outerArgs);
                }
                if (_this._plotAreaClicked) {
                    _this._plotAreaClicked(_this, outerArgs);
                }
            };
            this.i.plotAreaClicked = delegateCombine(this.i.plotAreaClicked, this._plotAreaClicked_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaMouseEnter", {
        /**
         * Occurs when the pointer enters the plot area.
        */
        get: function () {
            return this._plotAreaMouseEnter;
        },
        set: function (ev) {
            var _this = this;
            if (this._plotAreaMouseEnter_wrapped !== null) {
                this.i.plotAreaMouseEnter = delegateRemove(this.i.plotAreaMouseEnter, this._plotAreaMouseEnter_wrapped);
                this._plotAreaMouseEnter_wrapped = null;
                this._plotAreaMouseEnter = null;
            }
            this._plotAreaMouseEnter = ev;
            this._plotAreaMouseEnter_wrapped = function (o, e) {
                var outerArgs = new IgcPlotAreaMouseEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforePlotAreaMouseEnter) {
                    _this.beforePlotAreaMouseEnter(_this, outerArgs);
                }
                if (_this._plotAreaMouseEnter) {
                    _this._plotAreaMouseEnter(_this, outerArgs);
                }
            };
            this.i.plotAreaMouseEnter = delegateCombine(this.i.plotAreaMouseEnter, this._plotAreaMouseEnter_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaMouseLeave", {
        /**
         * Occurs when the pointer exits the plot area.
        */
        get: function () {
            return this._plotAreaMouseLeave;
        },
        set: function (ev) {
            var _this = this;
            if (this._plotAreaMouseLeave_wrapped !== null) {
                this.i.plotAreaMouseLeave = delegateRemove(this.i.plotAreaMouseLeave, this._plotAreaMouseLeave_wrapped);
                this._plotAreaMouseLeave_wrapped = null;
                this._plotAreaMouseLeave = null;
            }
            this._plotAreaMouseLeave = ev;
            this._plotAreaMouseLeave_wrapped = function (o, e) {
                var outerArgs = new IgcPlotAreaMouseEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforePlotAreaMouseLeave) {
                    _this.beforePlotAreaMouseLeave(_this, outerArgs);
                }
                if (_this._plotAreaMouseLeave) {
                    _this._plotAreaMouseLeave(_this, outerArgs);
                }
            };
            this.i.plotAreaMouseLeave = delegateCombine(this.i.plotAreaMouseLeave, this._plotAreaMouseLeave_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "plotAreaMouseOver", {
        /**
         * Occurs when the pointer if over the plot area.
        */
        get: function () {
            return this._plotAreaMouseOver;
        },
        set: function (ev) {
            var _this = this;
            if (this._plotAreaMouseOver_wrapped !== null) {
                this.i.plotAreaMouseOver = delegateRemove(this.i.plotAreaMouseOver, this._plotAreaMouseOver_wrapped);
                this._plotAreaMouseOver_wrapped = null;
                this._plotAreaMouseOver = null;
            }
            this._plotAreaMouseOver = ev;
            this._plotAreaMouseOver_wrapped = function (o, e) {
                var outerArgs = new IgcPlotAreaMouseEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforePlotAreaMouseOver) {
                    _this.beforePlotAreaMouseOver(_this, outerArgs);
                }
                if (_this._plotAreaMouseOver) {
                    _this._plotAreaMouseOver(_this, outerArgs);
                }
            };
            this.i.plotAreaMouseOver = delegateCombine(this.i.plotAreaMouseOver, this._plotAreaMouseOver_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesCursorMouseMove", {
        /**
         * Occurs when the cursors are moved over a series in this SeriesViewer.
        */
        get: function () {
            return this._seriesCursorMouseMove;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesCursorMouseMove_wrapped !== null) {
                this.i.seriesCursorMouseMove = delegateRemove(this.i.seriesCursorMouseMove, this._seriesCursorMouseMove_wrapped);
                this._seriesCursorMouseMove_wrapped = null;
                this._seriesCursorMouseMove = null;
            }
            this._seriesCursorMouseMove = ev;
            this._seriesCursorMouseMove_wrapped = function (o, e) {
                var outerArgs = new IgcChartCursorEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesCursorMouseMove) {
                    _this.beforeSeriesCursorMouseMove(_this, outerArgs);
                }
                if (_this._seriesCursorMouseMove) {
                    _this._seriesCursorMouseMove(_this, outerArgs);
                }
            };
            this.i.seriesCursorMouseMove = delegateCombine(this.i.seriesCursorMouseMove, this._seriesCursorMouseMove_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesMouseLeftButtonDown", {
        /**
         * Occurs when the left mouse button is pressed while the mouse pointer is over a Series.
        *
        * The `SeriesMouseLeftButtonDown` event occurs when the left mouse button is pressed while the mouse pointer is over an element of this chart.
        *
        * &lt;-- position: content member-->
        *
        * ```ts
        * public onSeriesMouseLeftButtonDown(event: {sender: any, args: DataChartMouseButtonEventArgs})
        * {
        *     var item = event.args.item;
        * }
        * ```
        */
        get: function () {
            return this._seriesMouseLeftButtonDown;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesMouseLeftButtonDown_wrapped !== null) {
                this.i.seriesMouseLeftButtonDown = delegateRemove(this.i.seriesMouseLeftButtonDown, this._seriesMouseLeftButtonDown_wrapped);
                this._seriesMouseLeftButtonDown_wrapped = null;
                this._seriesMouseLeftButtonDown = null;
            }
            this._seriesMouseLeftButtonDown = ev;
            this._seriesMouseLeftButtonDown_wrapped = function (o, e) {
                var outerArgs = new IgcDataChartMouseButtonEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesMouseLeftButtonDown) {
                    _this.beforeSeriesMouseLeftButtonDown(_this, outerArgs);
                }
                if (_this._seriesMouseLeftButtonDown) {
                    _this._seriesMouseLeftButtonDown(_this, outerArgs);
                }
            };
            this.i.seriesMouseLeftButtonDown = delegateCombine(this.i.seriesMouseLeftButtonDown, this._seriesMouseLeftButtonDown_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesMouseLeftButtonUp", {
        /**
         * Occurs when the left mouse button is released while the mouse pointer is over a Series.
        *
        * The `SeriesMouseLeftButtonUp` event occurs when the left mouse button is released while the mouse pointer is over an element of this chart.
        *
        * &lt;-- position: content member-->
        *
        * &lt;-- position: content member-->
        *
        * ```ts
        * public onSeriesMouseLeftButtonUp(event: {sender: any, args: DataChartMouseButtonEventArgs})
        * {
        *     var item = event.args.item;
        * }
        * ```
        *
        * ```ts
        * public onSeriesMouseLeftButtonUp =(event: any, args: DataChartMouseButtonEventArgs )
        * {
        *
        * }
        * ```
        */
        get: function () {
            return this._seriesMouseLeftButtonUp;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesMouseLeftButtonUp_wrapped !== null) {
                this.i.seriesMouseLeftButtonUp = delegateRemove(this.i.seriesMouseLeftButtonUp, this._seriesMouseLeftButtonUp_wrapped);
                this._seriesMouseLeftButtonUp_wrapped = null;
                this._seriesMouseLeftButtonUp = null;
            }
            this._seriesMouseLeftButtonUp = ev;
            this._seriesMouseLeftButtonUp_wrapped = function (o, e) {
                var outerArgs = new IgcDataChartMouseButtonEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesMouseLeftButtonUp) {
                    _this.beforeSeriesMouseLeftButtonUp(_this, outerArgs);
                }
                if (_this._seriesMouseLeftButtonUp) {
                    _this._seriesMouseLeftButtonUp(_this, outerArgs);
                }
            };
            this.i.seriesMouseLeftButtonUp = delegateCombine(this.i.seriesMouseLeftButtonUp, this._seriesMouseLeftButtonUp_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesClick", {
        /**
         * Occurs when the left mouse button is released while the mouse pointer is over a Series.
        */
        get: function () {
            return this._seriesClick;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesClick_wrapped !== null) {
                this.i.seriesClick = delegateRemove(this.i.seriesClick, this._seriesClick_wrapped);
                this._seriesClick_wrapped = null;
                this._seriesClick = null;
            }
            this._seriesClick = ev;
            this._seriesClick_wrapped = function (o, e) {
                var outerArgs = new IgcDataChartMouseButtonEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesClick) {
                    _this.beforeSeriesClick(_this, outerArgs);
                }
                if (_this._seriesClick) {
                    _this._seriesClick(_this, outerArgs);
                }
            };
            this.i.seriesClick = delegateCombine(this.i.seriesClick, this._seriesClick_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesMouseMove", {
        /**
         * Occurs when the mouse pointer moves while over a Series.
        *
        * The `SeriesMouseMove` event occurs when the left mouse pointer moves while over an element of this chart.
        *
        * &lt;-- position: content member-->
        *
        * &lt;-- position: content member-->
        *
        * ```ts
        * public onSeriesMouseMove(event: {sender: any, args: ChartMouseEventArgs})
        * {
        *     var item = event.args.item;
        * }
        * ```
        *
        * ```ts
        * public onSeriesMouseMove =( event: any, args: ChartMouseEventArgs) => {
        *                  }
        * ```
        */
        get: function () {
            return this._seriesMouseMove;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesMouseMove_wrapped !== null) {
                this.i.seriesMouseMove = delegateRemove(this.i.seriesMouseMove, this._seriesMouseMove_wrapped);
                this._seriesMouseMove_wrapped = null;
                this._seriesMouseMove = null;
            }
            this._seriesMouseMove = ev;
            this._seriesMouseMove_wrapped = function (o, e) {
                var outerArgs = new IgcChartMouseEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesMouseMove) {
                    _this.beforeSeriesMouseMove(_this, outerArgs);
                }
                if (_this._seriesMouseMove) {
                    _this._seriesMouseMove(_this, outerArgs);
                }
            };
            this.i.seriesMouseMove = delegateCombine(this.i.seriesMouseMove, this._seriesMouseMove_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesMouseEnter", {
        /**
         * Occurs when the mouse pointer enters a Series.
        *
        * The `SeriesMouseEnter` event occurs when the left mouse pointer enters an element of this chart.
        *
        * &lt;-- position: content member-->
        *
        * ```ts
        * public onSeriesMouseEnter(event: {sender: any, args: ChartMouseEventArgs})
        * {
        *     var item = event.args.item;
        * }
        * ```
        */
        get: function () {
            return this._seriesMouseEnter;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesMouseEnter_wrapped !== null) {
                this.i.seriesMouseEnter = delegateRemove(this.i.seriesMouseEnter, this._seriesMouseEnter_wrapped);
                this._seriesMouseEnter_wrapped = null;
                this._seriesMouseEnter = null;
            }
            this._seriesMouseEnter = ev;
            this._seriesMouseEnter_wrapped = function (o, e) {
                var outerArgs = new IgcChartMouseEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesMouseEnter) {
                    _this.beforeSeriesMouseEnter(_this, outerArgs);
                }
                if (_this._seriesMouseEnter) {
                    _this._seriesMouseEnter(_this, outerArgs);
                }
            };
            this.i.seriesMouseEnter = delegateCombine(this.i.seriesMouseEnter, this._seriesMouseEnter_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "seriesMouseLeave", {
        /**
         * Occurs when the mouse pointer leaves a Series.
        *
        * The `SeriesMouseLeave` event occurs when the left mouse pointer leaves an element of this chart.
        *
        * ```ts
        * public onSeriesMouseLeave(event: {sender: any, args: ChartMouseEventArgs})
        * {
        *     var item = event.args.item;
        * }
        * ```
        */
        get: function () {
            return this._seriesMouseLeave;
        },
        set: function (ev) {
            var _this = this;
            if (this._seriesMouseLeave_wrapped !== null) {
                this.i.seriesMouseLeave = delegateRemove(this.i.seriesMouseLeave, this._seriesMouseLeave_wrapped);
                this._seriesMouseLeave_wrapped = null;
                this._seriesMouseLeave = null;
            }
            this._seriesMouseLeave = ev;
            this._seriesMouseLeave_wrapped = function (o, e) {
                var outerArgs = new IgcChartMouseEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSeriesMouseLeave) {
                    _this.beforeSeriesMouseLeave(_this, outerArgs);
                }
                if (_this._seriesMouseLeave) {
                    _this._seriesMouseLeave(_this, outerArgs);
                }
            };
            this.i.seriesMouseLeave = delegateCombine(this.i.seriesMouseLeave, this._seriesMouseLeave_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "viewerManipulationStarting", {
        /**
         * Raised when an ongoing manipulation of the series viewer is started.
        */
        get: function () {
            return this._viewerManipulationStarting;
        },
        set: function (ev) {
            var _this = this;
            if (this._viewerManipulationStarting_wrapped !== null) {
                this.i.viewerManipulationStarting = delegateRemove(this.i.viewerManipulationStarting, this._viewerManipulationStarting_wrapped);
                this._viewerManipulationStarting_wrapped = null;
                this._viewerManipulationStarting = null;
            }
            this._viewerManipulationStarting = ev;
            this._viewerManipulationStarting_wrapped = function (o, e) {
                var outerArgs = new IgcSeriesViewerManipulationEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeViewerManipulationStarting) {
                    _this.beforeViewerManipulationStarting(_this, outerArgs);
                }
                if (_this._viewerManipulationStarting) {
                    _this._viewerManipulationStarting(_this, outerArgs);
                }
            };
            this.i.viewerManipulationStarting = delegateCombine(this.i.viewerManipulationStarting, this._viewerManipulationStarting_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "viewerManipulationEnding", {
        /**
         * Raised when an ongoing manipulation of the series viewer is ended.
        */
        get: function () {
            return this._viewerManipulationEnding;
        },
        set: function (ev) {
            var _this = this;
            if (this._viewerManipulationEnding_wrapped !== null) {
                this.i.viewerManipulationEnding = delegateRemove(this.i.viewerManipulationEnding, this._viewerManipulationEnding_wrapped);
                this._viewerManipulationEnding_wrapped = null;
                this._viewerManipulationEnding = null;
            }
            this._viewerManipulationEnding = ev;
            this._viewerManipulationEnding_wrapped = function (o, e) {
                var outerArgs = new IgcSeriesViewerManipulationEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeViewerManipulationEnding) {
                    _this.beforeViewerManipulationEnding(_this, outerArgs);
                }
                if (_this._viewerManipulationEnding) {
                    _this._viewerManipulationEnding(_this, outerArgs);
                }
            };
            this.i.viewerManipulationEnding = delegateCombine(this.i.viewerManipulationEnding, this._viewerManipulationEnding_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "windowRectChanged", {
        /**
         * Occurs just after the current SeriesViewer's window rectangle is changed.
        *
        * &lt;-- position: content member-->
        *
        * &lt;-- position: content member-->
        *
        * ```ts
        * public onWindowRectChanged =( s:any, e: RectChangedEventArgs) => {
        *
        *        }
        * ```
        */
        get: function () {
            return this._windowRectChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._windowRectChanged_wrapped !== null) {
                this.i.windowRectChanged = delegateRemove(this.i.windowRectChanged, this._windowRectChanged_wrapped);
                this._windowRectChanged_wrapped = null;
                this._windowRectChanged = null;
            }
            this._windowRectChanged = ev;
            this._windowRectChanged_wrapped = function (o, e) {
                var outerArgs = new IgcRectChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeWindowRectChanged) {
                    _this.beforeWindowRectChanged(_this, outerArgs);
                }
                if (_this._windowRectChanged) {
                    _this._windowRectChanged(_this, outerArgs);
                }
            };
            this.i.windowRectChanged = delegateCombine(this.i.windowRectChanged, this._windowRectChanged_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "sizeChanged", {
        /**
         * Occurs after the size of the series viewer changes.
        *
        * &lt;-- position: content member-->
        *
        * &lt;-- position: content member-->
        *
        * ```ts
        * public onSizeChanged =(event: any, args: RectChangedEventArgs}){
        *
        * }
        * ```
        */
        get: function () {
            return this._sizeChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._sizeChanged_wrapped !== null) {
                this.i.sizeChanged = delegateRemove(this.i.sizeChanged, this._sizeChanged_wrapped);
                this._sizeChanged_wrapped = null;
                this._sizeChanged = null;
            }
            this._sizeChanged = ev;
            this._sizeChanged_wrapped = function (o, e) {
                var outerArgs = new IgcRectChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSizeChanged) {
                    _this.beforeSizeChanged(_this, outerArgs);
                }
                if (_this._sizeChanged) {
                    _this._sizeChanged(_this, outerArgs);
                }
            };
            this.i.sizeChanged = delegateCombine(this.i.sizeChanged, this._sizeChanged_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "actualWindowRectChanged", {
        /**
         * Raised when the actual window rectangle of the SeriesViewer changes.
        */
        get: function () {
            return this._actualWindowRectChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._actualWindowRectChanged_wrapped !== null) {
                this.i.actualWindowRectChanged = delegateRemove(this.i.actualWindowRectChanged, this._actualWindowRectChanged_wrapped);
                this._actualWindowRectChanged_wrapped = null;
                this._actualWindowRectChanged = null;
            }
            this._actualWindowRectChanged = ev;
            this._actualWindowRectChanged_wrapped = function (o, e) {
                var outerArgs = new IgcRectChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeActualWindowRectChanged) {
                    _this.beforeActualWindowRectChanged(_this, outerArgs);
                }
                if (_this._actualWindowRectChanged) {
                    _this._actualWindowRectChanged(_this, outerArgs);
                }
            };
            this.i.actualWindowRectChanged = delegateCombine(this.i.actualWindowRectChanged, this._actualWindowRectChanged_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "gridAreaRectChanged", {
        /**
         * Occurs just after the current SeriesViewer's grid area rectangle is changed.
         * The grid area may change as the result of the SeriesViewer being resized, or
         * of an axis being added or changing size, possibly in another SeriesViewer.
        */
        get: function () {
            return this._gridAreaRectChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._gridAreaRectChanged_wrapped !== null) {
                this.i.gridAreaRectChanged = delegateRemove(this.i.gridAreaRectChanged, this._gridAreaRectChanged_wrapped);
                this._gridAreaRectChanged_wrapped = null;
                this._gridAreaRectChanged = null;
            }
            this._gridAreaRectChanged = ev;
            this._gridAreaRectChanged_wrapped = function (o, e) {
                var outerArgs = new IgcRectChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeGridAreaRectChanged) {
                    _this.beforeGridAreaRectChanged(_this, outerArgs);
                }
                if (_this._gridAreaRectChanged) {
                    _this._gridAreaRectChanged(_this, outerArgs);
                }
            };
            this.i.gridAreaRectChanged = delegateCombine(this.i.gridAreaRectChanged, this._gridAreaRectChanged_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "selectedSeriesItemsChanged", {
        /**
         * Raised when the SelectedItems collection has changed.
        */
        get: function () {
            return this._selectedSeriesItemsChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._selectedSeriesItemsChanged_wrapped !== null) {
                this.i.selectedSeriesItemsChanged = delegateRemove(this.i.selectedSeriesItemsChanged, this._selectedSeriesItemsChanged_wrapped);
                this._selectedSeriesItemsChanged_wrapped = null;
                this._selectedSeriesItemsChanged = null;
            }
            this._selectedSeriesItemsChanged = ev;
            this._selectedSeriesItemsChanged_wrapped = function (o, e) {
                var outerArgs = new IgcSeriesViewerSelectedSeriesItemsChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeSelectedSeriesItemsChanged) {
                    _this.beforeSelectedSeriesItemsChanged(_this, outerArgs);
                }
                if (_this._selectedSeriesItemsChanged) {
                    _this._selectedSeriesItemsChanged(_this, outerArgs);
                }
            };
            this.i.selectedSeriesItemsChanged = delegateCombine(this.i.selectedSeriesItemsChanged, this._selectedSeriesItemsChanged_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "focusedSeriesItemsChanged", {
        /**
         * Raised when the SelectedItems collection has changed.
        */
        get: function () {
            return this._focusedSeriesItemsChanged;
        },
        set: function (ev) {
            var _this = this;
            if (this._focusedSeriesItemsChanged_wrapped !== null) {
                this.i.focusedSeriesItemsChanged = delegateRemove(this.i.focusedSeriesItemsChanged, this._focusedSeriesItemsChanged_wrapped);
                this._focusedSeriesItemsChanged_wrapped = null;
                this._focusedSeriesItemsChanged = null;
            }
            this._focusedSeriesItemsChanged = ev;
            this._focusedSeriesItemsChanged_wrapped = function (o, e) {
                var outerArgs = new IgcSeriesViewerSelectedSeriesItemsChangedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeFocusedSeriesItemsChanged) {
                    _this.beforeFocusedSeriesItemsChanged(_this, outerArgs);
                }
                if (_this._focusedSeriesItemsChanged) {
                    _this._focusedSeriesItemsChanged(_this, outerArgs);
                }
            };
            this.i.focusedSeriesItemsChanged = delegateCombine(this.i.focusedSeriesItemsChanged, this._focusedSeriesItemsChanged_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "refreshCompleted", {
        /**
         * Raised when the SeriesViewer's processing for an update has completed.
        */
        get: function () {
            return this._refreshCompleted;
        },
        set: function (ev) {
            var _this = this;
            if (this._refreshCompleted_wrapped !== null) {
                this.i.refreshCompleted = delegateRemove(this.i.refreshCompleted, this._refreshCompleted_wrapped);
                this._refreshCompleted_wrapped = null;
                this._refreshCompleted = null;
            }
            this._refreshCompleted = ev;
            this._refreshCompleted_wrapped = function (o, e) {
                var outerArgs = new IgcRefreshCompletedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeRefreshCompleted) {
                    _this.beforeRefreshCompleted(_this, outerArgs);
                }
                if (_this._refreshCompleted) {
                    _this._refreshCompleted(_this, outerArgs);
                }
            };
            this.i.refreshCompleted = delegateCombine(this.i.refreshCompleted, this._refreshCompleted_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgcSeriesViewerComponent.prototype, "imageCaptured", {
        /**
         * Event raised when an image of the component is saved
        */
        get: function () {
            return this._imageCaptured;
        },
        set: function (ev) {
            var _this = this;
            if (this._imageCaptured_wrapped !== null) {
                this.i.imageCaptured = delegateRemove(this.i.imageCaptured, this._imageCaptured_wrapped);
                this._imageCaptured_wrapped = null;
                this._imageCaptured = null;
            }
            this._imageCaptured = ev;
            this._imageCaptured_wrapped = function (o, e) {
                var outerArgs = new IgcImageCapturedEventArgs();
                outerArgs._provideImplementation(e);
                if (_this.beforeImageCaptured) {
                    _this.beforeImageCaptured(_this, outerArgs);
                }
                if (_this._imageCaptured) {
                    _this._imageCaptured(_this, outerArgs);
                }
            };
            this.i.imageCaptured = delegateCombine(this.i.imageCaptured, this._imageCaptured_wrapped);
            ;
        },
        enumerable: false,
        configurable: true
    });
    IgcSeriesViewerComponent._observedAttributesIgcSeriesViewerComponent = null;
    return IgcSeriesViewerComponent;
}(IgcHTMLElement));
export { IgcSeriesViewerComponent };