UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

1,042 lines (930 loc) 107 kB
/*! * devextreme-angular * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-angular */ /* tslint:disable:max-line-length */ import { TransferState, Component, NgModule, ElementRef, NgZone, PLATFORM_ID, Inject, Input, Output, EventEmitter } from '@angular/core'; import DxBarGauge from 'devextreme/viz/bar_gauge'; import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core'; import { DxoAnimationModule } from 'devextreme-angular/ui/nested'; import { DxoExportModule } from 'devextreme-angular/ui/nested'; import { DxoGeometryModule } from 'devextreme-angular/ui/nested'; import { DxoLabelModule } from 'devextreme-angular/ui/nested'; import { DxoFontModule } from 'devextreme-angular/ui/nested'; import { DxoFormatModule } from 'devextreme-angular/ui/nested'; import { DxoLegendModule } from 'devextreme-angular/ui/nested'; import { DxoBorderModule } from 'devextreme-angular/ui/nested'; import { DxoItemTextFormatModule } from 'devextreme-angular/ui/nested'; import { DxoMarginModule } from 'devextreme-angular/ui/nested'; import { DxoTitleModule } from 'devextreme-angular/ui/nested'; import { DxoSubtitleModule } from 'devextreme-angular/ui/nested'; import { DxoLoadingIndicatorModule } from 'devextreme-angular/ui/nested'; import { DxoSizeModule } from 'devextreme-angular/ui/nested'; import { DxoTooltipModule } from 'devextreme-angular/ui/nested'; import { DxoShadowModule } from 'devextreme-angular/ui/nested'; import { DxoBarGaugeAnimationModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeBarGaugeTitleModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeBarGaugeTitleSubtitleModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeBorderModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeExportModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeFontModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeFormatModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeGeometryModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeItemTextFormatModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeLabelModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeLegendModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeLegendBorderModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeLegendTitleModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeLegendTitleSubtitleModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeLoadingIndicatorModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeMarginModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeShadowModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeSizeModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeSubtitleModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeTitleModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeTooltipModule } from 'devextreme-angular/ui/bar-gauge/nested'; import { DxoBarGaugeTooltipBorderModule } from 'devextreme-angular/ui/bar-gauge/nested'; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/core"; /** * The BarGauge UI component contains several circular bars that each indicates a single value. */ export class DxBarGaugeComponent extends DxComponent { _watcherHelper; _idh; instance = null; /** * Specifies animation properties. */ get animation() { return this._getOption('animation'); } set animation(value) { this._setOption('animation', value); } /** * Specifies a color for the remaining segment of the bar's track. */ get backgroundColor() { return this._getOption('backgroundColor'); } set backgroundColor(value) { this._setOption('backgroundColor', value); } /** * Specifies a distance between bars in pixels. */ get barSpacing() { return this._getOption('barSpacing'); } set barSpacing(value) { this._setOption('barSpacing', value); } /** * Specifies a base value for bars. */ get baseValue() { return this._getOption('baseValue'); } set baseValue(value) { this._setOption('baseValue', value); } /** * Specifies a custom template for content in the component's center. */ get centerTemplate() { return this._getOption('centerTemplate'); } set centerTemplate(value) { this._setOption('centerTemplate', value); } /** * Specifies whether the UI component responds to user interaction. */ get disabled() { return this._getOption('disabled'); } set disabled(value) { this._setOption('disabled', value); } /** * Specifies the global attributes to be attached to the UI component's container element. */ get elementAttr() { return this._getOption('elementAttr'); } set elementAttr(value) { this._setOption('elementAttr', value); } /** * Specifies an end value for the gauge's invisible scale. */ get endValue() { return this._getOption('endValue'); } set endValue(value) { this._setOption('endValue', value); } /** * Configures the exporting and printing features. */ get export() { return this._getOption('export'); } set export(value) { this._setOption('export', value); } /** * Defines the shape of the gauge's arc. */ get geometry() { return this._getOption('geometry'); } set geometry(value) { this._setOption('geometry', value); } /** * Specifies the properties of the labels that accompany gauge bars. */ get label() { return this._getOption('label'); } set label(value) { this._setOption('label', value); } /** * Configures the legend. */ get legend() { return this._getOption('legend'); } set legend(value) { this._setOption('legend', value); } /** * Configures the loading indicator. */ get loadingIndicator() { return this._getOption('loadingIndicator'); } set loadingIndicator(value) { this._setOption('loadingIndicator', value); } /** * Generates space around the UI component. */ get margin() { return this._getOption('margin'); } set margin(value) { this._setOption('margin', value); } /** * Sets the palette to be used for colorizing bars in the gauge. */ get palette() { return this._getOption('palette'); } set palette(value) { this._setOption('palette', value); } /** * Specifies what to do with colors in the palette when their number is less than the number of bars in the gauge. */ get paletteExtensionMode() { return this._getOption('paletteExtensionMode'); } set paletteExtensionMode(value) { this._setOption('paletteExtensionMode', value); } /** * Notifies the UI component that it is embedded into an HTML page that uses a tag modifying the path. */ get pathModified() { return this._getOption('pathModified'); } set pathModified(value) { this._setOption('pathModified', value); } /** * Specifies whether to redraw the UI component when the size of the container changes or a mobile device rotates. */ get redrawOnResize() { return this._getOption('redrawOnResize'); } set redrawOnResize(value) { this._setOption('redrawOnResize', value); } /** * Defines the radius of the bar that is closest to the center relatively to the radius of the topmost bar. */ get relativeInnerRadius() { return this._getOption('relativeInnerRadius'); } set relativeInnerRadius(value) { this._setOption('relativeInnerRadius', value); } /** * Specifies how the UI component should behave when bar labels overlap. */ get resolveLabelOverlapping() { return this._getOption('resolveLabelOverlapping'); } set resolveLabelOverlapping(value) { this._setOption('resolveLabelOverlapping', value); } /** * Switches the UI component to a right-to-left representation. */ get rtlEnabled() { return this._getOption('rtlEnabled'); } set rtlEnabled(value) { this._setOption('rtlEnabled', value); } /** * Specifies the UI component's size in pixels. */ get size() { return this._getOption('size'); } set size(value) { this._setOption('size', value); } /** * Specifies a start value for the gauge's invisible scale. */ get startValue() { return this._getOption('startValue'); } set startValue(value) { this._setOption('startValue', value); } /** * Sets the name of the theme the UI component uses. */ get theme() { return this._getOption('theme'); } set theme(value) { this._setOption('theme', value); } /** * Configures the UI component's title. */ get title() { return this._getOption('title'); } set title(value) { this._setOption('title', value); } /** * Configures tooltips. */ get tooltip() { return this._getOption('tooltip'); } set tooltip(value) { this._setOption('tooltip', value); } /** * Specifies the array of values to be indicated on a bar gauge. */ get values() { return this._getOption('values'); } set values(value) { this._setOption('values', value); } /** * A function that is executed before the UI component is disposed of. */ onDisposing; /** * A function that is executed when the UI component's rendering has finished. */ onDrawn; /** * A function that is executed after the UI component is exported. */ onExported; /** * A function that is executed before the UI component is exported. */ onExporting; /** * A function that is executed before a file with exported UI component is saved to the user's local storage. */ onFileSaving; /** * A function that is executed when an error or warning occurs. */ onIncidentOccurred; /** * A function used in JavaScript frameworks to save the UI component instance. */ onInitialized; /** * A function that is executed after a UI component property is changed. */ onOptionChanged; /** * A function that is executed when a tooltip becomes hidden. */ onTooltipHidden; /** * A function that is executed when a tooltip appears. */ onTooltipShown; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ animationChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ backgroundColorChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ barSpacingChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ baseValueChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ centerTemplateChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ disabledChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ elementAttrChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ endValueChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ exportChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ geometryChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ labelChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ legendChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ loadingIndicatorChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ marginChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ paletteChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ paletteExtensionModeChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ pathModifiedChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ redrawOnResizeChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ relativeInnerRadiusChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ resolveLabelOverlappingChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ rtlEnabledChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ sizeChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ startValueChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ themeChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ titleChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ tooltipChange; /** * This member supports the internal infrastructure and is not intended to be used directly from your code. */ valuesChange; constructor(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) { super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId); this._watcherHelper = _watcherHelper; this._idh = _idh; this._createEventEmitters([ { subscribe: 'disposing', emit: 'onDisposing' }, { subscribe: 'drawn', emit: 'onDrawn' }, { subscribe: 'exported', emit: 'onExported' }, { subscribe: 'exporting', emit: 'onExporting' }, { subscribe: 'fileSaving', emit: 'onFileSaving' }, { subscribe: 'incidentOccurred', emit: 'onIncidentOccurred' }, { subscribe: 'initialized', emit: 'onInitialized' }, { subscribe: 'optionChanged', emit: 'onOptionChanged' }, { subscribe: 'tooltipHidden', emit: 'onTooltipHidden' }, { subscribe: 'tooltipShown', emit: 'onTooltipShown' }, { emit: 'animationChange' }, { emit: 'backgroundColorChange' }, { emit: 'barSpacingChange' }, { emit: 'baseValueChange' }, { emit: 'centerTemplateChange' }, { emit: 'disabledChange' }, { emit: 'elementAttrChange' }, { emit: 'endValueChange' }, { emit: 'exportChange' }, { emit: 'geometryChange' }, { emit: 'labelChange' }, { emit: 'legendChange' }, { emit: 'loadingIndicatorChange' }, { emit: 'marginChange' }, { emit: 'paletteChange' }, { emit: 'paletteExtensionModeChange' }, { emit: 'pathModifiedChange' }, { emit: 'redrawOnResizeChange' }, { emit: 'relativeInnerRadiusChange' }, { emit: 'resolveLabelOverlappingChange' }, { emit: 'rtlEnabledChange' }, { emit: 'sizeChange' }, { emit: 'startValueChange' }, { emit: 'themeChange' }, { emit: 'titleChange' }, { emit: 'tooltipChange' }, { emit: 'valuesChange' } ]); this._idh.setHost(this); optionHost.setHost(this); } _createInstance(element, options) { return new DxBarGauge(element, options); } ngOnDestroy() { this._destroyWidget(); } ngOnChanges(changes) { super.ngOnChanges(changes); this.setupChanges('palette', changes); this.setupChanges('values', changes); } setupChanges(prop, changes) { if (!(prop in this._optionsToUpdate)) { this._idh.setup(prop, changes); } } ngDoCheck() { this._idh.doCheck('palette'); this._idh.doCheck('values'); this._watcherHelper.checkWatchers(); super.ngDoCheck(); super.clearChangedOptions(); } _setOption(name, value) { let isSetup = this._idh.setupSingle(name, value); let isChanged = this._idh.getChanges(name, value) !== null; if (isSetup || isChanged) { super._setOption(name, value); } } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxBarGaugeComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.DxTemplateHost }, { token: i1.WatcherHelper }, { token: i1.IterableDifferHelper }, { token: i1.NestedOptionHost }, { token: i0.TransferState }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DxBarGaugeComponent, selector: "dx-bar-gauge", inputs: { animation: "animation", backgroundColor: "backgroundColor", barSpacing: "barSpacing", baseValue: "baseValue", centerTemplate: "centerTemplate", disabled: "disabled", elementAttr: "elementAttr", endValue: "endValue", export: "export", geometry: "geometry", label: "label", legend: "legend", loadingIndicator: "loadingIndicator", margin: "margin", palette: "palette", paletteExtensionMode: "paletteExtensionMode", pathModified: "pathModified", redrawOnResize: "redrawOnResize", relativeInnerRadius: "relativeInnerRadius", resolveLabelOverlapping: "resolveLabelOverlapping", rtlEnabled: "rtlEnabled", size: "size", startValue: "startValue", theme: "theme", title: "title", tooltip: "tooltip", values: "values" }, outputs: { onDisposing: "onDisposing", onDrawn: "onDrawn", onExported: "onExported", onExporting: "onExporting", onFileSaving: "onFileSaving", onIncidentOccurred: "onIncidentOccurred", onInitialized: "onInitialized", onOptionChanged: "onOptionChanged", onTooltipHidden: "onTooltipHidden", onTooltipShown: "onTooltipShown", animationChange: "animationChange", backgroundColorChange: "backgroundColorChange", barSpacingChange: "barSpacingChange", baseValueChange: "baseValueChange", centerTemplateChange: "centerTemplateChange", disabledChange: "disabledChange", elementAttrChange: "elementAttrChange", endValueChange: "endValueChange", exportChange: "exportChange", geometryChange: "geometryChange", labelChange: "labelChange", legendChange: "legendChange", loadingIndicatorChange: "loadingIndicatorChange", marginChange: "marginChange", paletteChange: "paletteChange", paletteExtensionModeChange: "paletteExtensionModeChange", pathModifiedChange: "pathModifiedChange", redrawOnResizeChange: "redrawOnResizeChange", relativeInnerRadiusChange: "relativeInnerRadiusChange", resolveLabelOverlappingChange: "resolveLabelOverlappingChange", rtlEnabledChange: "rtlEnabledChange", sizeChange: "sizeChange", startValueChange: "startValueChange", themeChange: "themeChange", titleChange: "titleChange", tooltipChange: "tooltipChange", valuesChange: "valuesChange" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [ DxTemplateHost, WatcherHelper, NestedOptionHost, IterableDifferHelper ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:block}\n"] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxBarGaugeComponent, decorators: [{ type: Component, args: [{ selector: 'dx-bar-gauge', template: '', host: { ngSkipHydration: 'true' }, providers: [ DxTemplateHost, WatcherHelper, NestedOptionHost, IterableDifferHelper ], styles: [":host{display:block}\n"] }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.DxTemplateHost }, { type: i1.WatcherHelper }, { type: i1.IterableDifferHelper }, { type: i1.NestedOptionHost }, { type: i0.TransferState }, { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }], propDecorators: { animation: [{ type: Input }], backgroundColor: [{ type: Input }], barSpacing: [{ type: Input }], baseValue: [{ type: Input }], centerTemplate: [{ type: Input }], disabled: [{ type: Input }], elementAttr: [{ type: Input }], endValue: [{ type: Input }], export: [{ type: Input }], geometry: [{ type: Input }], label: [{ type: Input }], legend: [{ type: Input }], loadingIndicator: [{ type: Input }], margin: [{ type: Input }], palette: [{ type: Input }], paletteExtensionMode: [{ type: Input }], pathModified: [{ type: Input }], redrawOnResize: [{ type: Input }], relativeInnerRadius: [{ type: Input }], resolveLabelOverlapping: [{ type: Input }], rtlEnabled: [{ type: Input }], size: [{ type: Input }], startValue: [{ type: Input }], theme: [{ type: Input }], title: [{ type: Input }], tooltip: [{ type: Input }], values: [{ type: Input }], onDisposing: [{ type: Output }], onDrawn: [{ type: Output }], onExported: [{ type: Output }], onExporting: [{ type: Output }], onFileSaving: [{ type: Output }], onIncidentOccurred: [{ type: Output }], onInitialized: [{ type: Output }], onOptionChanged: [{ type: Output }], onTooltipHidden: [{ type: Output }], onTooltipShown: [{ type: Output }], animationChange: [{ type: Output }], backgroundColorChange: [{ type: Output }], barSpacingChange: [{ type: Output }], baseValueChange: [{ type: Output }], centerTemplateChange: [{ type: Output }], disabledChange: [{ type: Output }], elementAttrChange: [{ type: Output }], endValueChange: [{ type: Output }], exportChange: [{ type: Output }], geometryChange: [{ type: Output }], labelChange: [{ type: Output }], legendChange: [{ type: Output }], loadingIndicatorChange: [{ type: Output }], marginChange: [{ type: Output }], paletteChange: [{ type: Output }], paletteExtensionModeChange: [{ type: Output }], pathModifiedChange: [{ type: Output }], redrawOnResizeChange: [{ type: Output }], relativeInnerRadiusChange: [{ type: Output }], resolveLabelOverlappingChange: [{ type: Output }], rtlEnabledChange: [{ type: Output }], sizeChange: [{ type: Output }], startValueChange: [{ type: Output }], themeChange: [{ type: Output }], titleChange: [{ type: Output }], tooltipChange: [{ type: Output }], valuesChange: [{ type: Output }] } }); export class DxBarGaugeModule { /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxBarGaugeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxBarGaugeModule, declarations: [DxBarGaugeComponent], imports: [DxoAnimationModule, DxoExportModule, DxoGeometryModule, DxoLabelModule, DxoFontModule, DxoFormatModule, DxoLegendModule, DxoBorderModule, DxoItemTextFormatModule, DxoMarginModule, DxoTitleModule, DxoSubtitleModule, DxoLoadingIndicatorModule, DxoSizeModule, DxoTooltipModule, DxoShadowModule, DxoBarGaugeAnimationModule, DxoBarGaugeBarGaugeTitleModule, DxoBarGaugeBarGaugeTitleSubtitleModule, DxoBarGaugeBorderModule, DxoBarGaugeExportModule, DxoBarGaugeFontModule, DxoBarGaugeFormatModule, DxoBarGaugeGeometryModule, DxoBarGaugeItemTextFormatModule, DxoBarGaugeLabelModule, DxoBarGaugeLegendModule, DxoBarGaugeLegendBorderModule, DxoBarGaugeLegendTitleModule, DxoBarGaugeLegendTitleSubtitleModule, DxoBarGaugeLoadingIndicatorModule, DxoBarGaugeMarginModule, DxoBarGaugeShadowModule, DxoBarGaugeSizeModule, DxoBarGaugeSubtitleModule, DxoBarGaugeTitleModule, DxoBarGaugeTooltipModule, DxoBarGaugeTooltipBorderModule, DxIntegrationModule, DxTemplateModule], exports: [DxBarGaugeComponent, DxoAnimationModule, DxoExportModule, DxoGeometryModule, DxoLabelModule, DxoFontModule, DxoFormatModule, DxoLegendModule, DxoBorderModule, DxoItemTextFormatModule, DxoMarginModule, DxoTitleModule, DxoSubtitleModule, DxoLoadingIndicatorModule, DxoSizeModule, DxoTooltipModule, DxoShadowModule, DxoBarGaugeAnimationModule, DxoBarGaugeBarGaugeTitleModule, DxoBarGaugeBarGaugeTitleSubtitleModule, DxoBarGaugeBorderModule, DxoBarGaugeExportModule, DxoBarGaugeFontModule, DxoBarGaugeFormatModule, DxoBarGaugeGeometryModule, DxoBarGaugeItemTextFormatModule, DxoBarGaugeLabelModule, DxoBarGaugeLegendModule, DxoBarGaugeLegendBorderModule, DxoBarGaugeLegendTitleModule, DxoBarGaugeLegendTitleSubtitleModule, DxoBarGaugeLoadingIndicatorModule, DxoBarGaugeMarginModule, DxoBarGaugeShadowModule, DxoBarGaugeSizeModule, DxoBarGaugeSubtitleModule, DxoBarGaugeTitleModule, DxoBarGaugeTooltipModule, DxoBarGaugeTooltipBorderModule, DxTemplateModule] }); /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxBarGaugeModule, imports: [DxoAnimationModule, DxoExportModule, DxoGeometryModule, DxoLabelModule, DxoFontModule, DxoFormatModule, DxoLegendModule, DxoBorderModule, DxoItemTextFormatModule, DxoMarginModule, DxoTitleModule, DxoSubtitleModule, DxoLoadingIndicatorModule, DxoSizeModule, DxoTooltipModule, DxoShadowModule, DxoBarGaugeAnimationModule, DxoBarGaugeBarGaugeTitleModule, DxoBarGaugeBarGaugeTitleSubtitleModule, DxoBarGaugeBorderModule, DxoBarGaugeExportModule, DxoBarGaugeFontModule, DxoBarGaugeFormatModule, DxoBarGaugeGeometryModule, DxoBarGaugeItemTextFormatModule, DxoBarGaugeLabelModule, DxoBarGaugeLegendModule, DxoBarGaugeLegendBorderModule, DxoBarGaugeLegendTitleModule, DxoBarGaugeLegendTitleSubtitleModule, DxoBarGaugeLoadingIndicatorModule, DxoBarGaugeMarginModule, DxoBarGaugeShadowModule, DxoBarGaugeSizeModule, DxoBarGaugeSubtitleModule, DxoBarGaugeTitleModule, DxoBarGaugeTooltipModule, DxoBarGaugeTooltipBorderModule, DxIntegrationModule, DxTemplateModule, DxoAnimationModule, DxoExportModule, DxoGeometryModule, DxoLabelModule, DxoFontModule, DxoFormatModule, DxoLegendModule, DxoBorderModule, DxoItemTextFormatModule, DxoMarginModule, DxoTitleModule, DxoSubtitleModule, DxoLoadingIndicatorModule, DxoSizeModule, DxoTooltipModule, DxoShadowModule, DxoBarGaugeAnimationModule, DxoBarGaugeBarGaugeTitleModule, DxoBarGaugeBarGaugeTitleSubtitleModule, DxoBarGaugeBorderModule, DxoBarGaugeExportModule, DxoBarGaugeFontModule, DxoBarGaugeFormatModule, DxoBarGaugeGeometryModule, DxoBarGaugeItemTextFormatModule, DxoBarGaugeLabelModule, DxoBarGaugeLegendModule, DxoBarGaugeLegendBorderModule, DxoBarGaugeLegendTitleModule, DxoBarGaugeLegendTitleSubtitleModule, DxoBarGaugeLoadingIndicatorModule, DxoBarGaugeMarginModule, DxoBarGaugeShadowModule, DxoBarGaugeSizeModule, DxoBarGaugeSubtitleModule, DxoBarGaugeTitleModule, DxoBarGaugeTooltipModule, DxoBarGaugeTooltipBorderModule, DxTemplateModule] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxBarGaugeModule, decorators: [{ type: NgModule, args: [{ imports: [ DxoAnimationModule, DxoExportModule, DxoGeometryModule, DxoLabelModule, DxoFontModule, DxoFormatModule, DxoLegendModule, DxoBorderModule, DxoItemTextFormatModule, DxoMarginModule, DxoTitleModule, DxoSubtitleModule, DxoLoadingIndicatorModule, DxoSizeModule, DxoTooltipModule, DxoShadowModule, DxoBarGaugeAnimationModule, DxoBarGaugeBarGaugeTitleModule, DxoBarGaugeBarGaugeTitleSubtitleModule, DxoBarGaugeBorderModule, DxoBarGaugeExportModule, DxoBarGaugeFontModule, DxoBarGaugeFormatModule, DxoBarGaugeGeometryModule, DxoBarGaugeItemTextFormatModule, DxoBarGaugeLabelModule, DxoBarGaugeLegendModule, DxoBarGaugeLegendBorderModule, DxoBarGaugeLegendTitleModule, DxoBarGaugeLegendTitleSubtitleModule, DxoBarGaugeLoadingIndicatorModule, DxoBarGaugeMarginModule, DxoBarGaugeShadowModule, DxoBarGaugeSizeModule, DxoBarGaugeSubtitleModule, DxoBarGaugeTitleModule, DxoBarGaugeTooltipModule, DxoBarGaugeTooltipBorderModule, DxIntegrationModule, DxTemplateModule ], declarations: [ DxBarGaugeComponent ], exports: [ DxBarGaugeComponent, DxoAnimationModule, DxoExportModule, DxoGeometryModule, DxoLabelModule, DxoFontModule, DxoFormatModule, DxoLegendModule, DxoBorderModule, DxoItemTextFormatModule, DxoMarginModule, DxoTitleModule, DxoSubtitleModule, DxoLoadingIndicatorModule, DxoSizeModule, DxoTooltipModule, DxoShadowModule, DxoBarGaugeAnimationModule, DxoBarGaugeBarGaugeTitleModule, DxoBarGaugeBarGaugeTitleSubtitleModule, DxoBarGaugeBorderModule, DxoBarGaugeExportModule, DxoBarGaugeFontModule, DxoBarGaugeFormatModule, DxoBarGaugeGeometryModule, DxoBarGaugeItemTextFormatModule, DxoBarGaugeLabelModule, DxoBarGaugeLegendModule, DxoBarGaugeLegendBorderModule, DxoBarGaugeLegendTitleModule, DxoBarGaugeLegendTitleSubtitleModule, DxoBarGaugeLoadingIndicatorModule, DxoBarGaugeMarginModule, DxoBarGaugeShadowModule, DxoBarGaugeSizeModule, DxoBarGaugeSubtitleModule, DxoBarGaugeTitleModule, DxoBarGaugeTooltipModule, DxoBarGaugeTooltipBorderModule, DxTemplateModule ] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kaXN0L3VpL2Jhci1nYXVnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILG9DQUFvQztBQUdwQyxPQUFPLEVBQ0gsYUFBYSxFQUNiLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBRU4sWUFBWSxFQUlmLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE9BQU8sVUFBVSxNQUFNLDBCQUEwQixDQUFDO0FBR2xELE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2hCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUs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