devextreme-angular
Version:
DevExtreme UI and Visualization Components for Angular
1,079 lines (1,067 loc) • 125 kB
JavaScript
import * as i0 from '@angular/core';
import { Input, SkipSelf, Host, Component, NgModule, Output, ContentChildren } from '@angular/core';
import * as i1 from 'devextreme-angular/core';
import { NestedOption, DxIntegrationModule, NestedOptionHost, CollectionNestedOption } from 'devextreme-angular/core';
import { PROPERTY_TOKEN_ranges } from 'devextreme-angular/core/tokens';
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeAnimationComponent extends NestedOption {
get duration() {
return this._getOption('duration');
}
set duration(value) {
this._setOption('duration', value);
}
get easing() {
return this._getOption('easing');
}
set easing(value) {
this._setOption('easing', value);
}
get enabled() {
return this._getOption('enabled');
}
set enabled(value) {
this._setOption('enabled', value);
}
get _optionPath() {
return 'animation';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeAnimationComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeAnimationComponent, isStandalone: true, selector: "dxo-linear-gauge-animation", inputs: { duration: "duration", easing: "easing", enabled: "enabled" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeAnimationComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-animation', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { duration: [{
type: Input
}], easing: [{
type: Input
}], enabled: [{
type: Input
}] } });
class DxoLinearGaugeAnimationModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeAnimationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeAnimationModule, imports: [DxoLinearGaugeAnimationComponent], exports: [DxoLinearGaugeAnimationComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeAnimationModule, imports: [DxoLinearGaugeAnimationComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeAnimationModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeAnimationComponent
],
exports: [
DxoLinearGaugeAnimationComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeBackgroundColorComponent extends NestedOption {
get base() {
return this._getOption('base');
}
set base(value) {
this._setOption('base', value);
}
get fillId() {
return this._getOption('fillId');
}
set fillId(value) {
this._setOption('fillId', value);
}
get _optionPath() {
return 'backgroundColor';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBackgroundColorComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeBackgroundColorComponent, isStandalone: true, selector: "dxo-linear-gauge-background-color", inputs: { base: "base", fillId: "fillId" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBackgroundColorComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-background-color', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { base: [{
type: Input
}], fillId: [{
type: Input
}] } });
class DxoLinearGaugeBackgroundColorModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBackgroundColorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBackgroundColorModule, imports: [DxoLinearGaugeBackgroundColorComponent], exports: [DxoLinearGaugeBackgroundColorComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBackgroundColorModule, imports: [DxoLinearGaugeBackgroundColorComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBackgroundColorModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeBackgroundColorComponent
],
exports: [
DxoLinearGaugeBackgroundColorComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeBorderComponent extends NestedOption {
get color() {
return this._getOption('color');
}
set color(value) {
this._setOption('color', value);
}
get dashStyle() {
return this._getOption('dashStyle');
}
set dashStyle(value) {
this._setOption('dashStyle', value);
}
get opacity() {
return this._getOption('opacity');
}
set opacity(value) {
this._setOption('opacity', value);
}
get visible() {
return this._getOption('visible');
}
set visible(value) {
this._setOption('visible', value);
}
get width() {
return this._getOption('width');
}
set width(value) {
this._setOption('width', value);
}
get _optionPath() {
return 'border';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBorderComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeBorderComponent, isStandalone: true, selector: "dxo-linear-gauge-border", inputs: { color: "color", dashStyle: "dashStyle", opacity: "opacity", visible: "visible", width: "width" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBorderComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-border', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { color: [{
type: Input
}], dashStyle: [{
type: Input
}], opacity: [{
type: Input
}], visible: [{
type: Input
}], width: [{
type: Input
}] } });
class DxoLinearGaugeBorderModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBorderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBorderModule, imports: [DxoLinearGaugeBorderComponent], exports: [DxoLinearGaugeBorderComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBorderModule, imports: [DxoLinearGaugeBorderComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeBorderModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeBorderComponent
],
exports: [
DxoLinearGaugeBorderComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeColorComponent extends NestedOption {
get base() {
return this._getOption('base');
}
set base(value) {
this._setOption('base', value);
}
get fillId() {
return this._getOption('fillId');
}
set fillId(value) {
this._setOption('fillId', value);
}
get _optionPath() {
return 'color';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeColorComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeColorComponent, isStandalone: true, selector: "dxo-linear-gauge-color", inputs: { base: "base", fillId: "fillId" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeColorComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-color', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { base: [{
type: Input
}], fillId: [{
type: Input
}] } });
class DxoLinearGaugeColorModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeColorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeColorModule, imports: [DxoLinearGaugeColorComponent], exports: [DxoLinearGaugeColorComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeColorModule, imports: [DxoLinearGaugeColorComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeColorModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeColorComponent
],
exports: [
DxoLinearGaugeColorComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeExportComponent extends NestedOption {
get backgroundColor() {
return this._getOption('backgroundColor');
}
set backgroundColor(value) {
this._setOption('backgroundColor', value);
}
get enabled() {
return this._getOption('enabled');
}
set enabled(value) {
this._setOption('enabled', value);
}
get fileName() {
return this._getOption('fileName');
}
set fileName(value) {
this._setOption('fileName', value);
}
get formats() {
return this._getOption('formats');
}
set formats(value) {
this._setOption('formats', value);
}
get margin() {
return this._getOption('margin');
}
set margin(value) {
this._setOption('margin', value);
}
get printingEnabled() {
return this._getOption('printingEnabled');
}
set printingEnabled(value) {
this._setOption('printingEnabled', value);
}
get svgToCanvas() {
return this._getOption('svgToCanvas');
}
set svgToCanvas(value) {
this._setOption('svgToCanvas', value);
}
get _optionPath() {
return 'export';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeExportComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeExportComponent, isStandalone: true, selector: "dxo-linear-gauge-export", inputs: { backgroundColor: "backgroundColor", enabled: "enabled", fileName: "fileName", formats: "formats", margin: "margin", printingEnabled: "printingEnabled", svgToCanvas: "svgToCanvas" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeExportComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-export', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { backgroundColor: [{
type: Input
}], enabled: [{
type: Input
}], fileName: [{
type: Input
}], formats: [{
type: Input
}], margin: [{
type: Input
}], printingEnabled: [{
type: Input
}], svgToCanvas: [{
type: Input
}] } });
class DxoLinearGaugeExportModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeExportModule, imports: [DxoLinearGaugeExportComponent], exports: [DxoLinearGaugeExportComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeExportModule, imports: [DxoLinearGaugeExportComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeExportModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeExportComponent
],
exports: [
DxoLinearGaugeExportComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeFontComponent extends NestedOption {
get color() {
return this._getOption('color');
}
set color(value) {
this._setOption('color', value);
}
get family() {
return this._getOption('family');
}
set family(value) {
this._setOption('family', value);
}
get opacity() {
return this._getOption('opacity');
}
set opacity(value) {
this._setOption('opacity', value);
}
get size() {
return this._getOption('size');
}
set size(value) {
this._setOption('size', value);
}
get weight() {
return this._getOption('weight');
}
set weight(value) {
this._setOption('weight', value);
}
get _optionPath() {
return 'font';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFontComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeFontComponent, isStandalone: true, selector: "dxo-linear-gauge-font", inputs: { color: "color", family: "family", opacity: "opacity", size: "size", weight: "weight" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFontComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-font', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { color: [{
type: Input
}], family: [{
type: Input
}], opacity: [{
type: Input
}], size: [{
type: Input
}], weight: [{
type: Input
}] } });
class DxoLinearGaugeFontModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFontModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFontModule, imports: [DxoLinearGaugeFontComponent], exports: [DxoLinearGaugeFontComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFontModule, imports: [DxoLinearGaugeFontComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFontModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeFontComponent
],
exports: [
DxoLinearGaugeFontComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeFormatComponent extends NestedOption {
get currency() {
return this._getOption('currency');
}
set currency(value) {
this._setOption('currency', value);
}
get formatter() {
return this._getOption('formatter');
}
set formatter(value) {
this._setOption('formatter', value);
}
get parser() {
return this._getOption('parser');
}
set parser(value) {
this._setOption('parser', value);
}
get precision() {
return this._getOption('precision');
}
set precision(value) {
this._setOption('precision', value);
}
get type() {
return this._getOption('type');
}
set type(value) {
this._setOption('type', value);
}
get useCurrencyAccountingStyle() {
return this._getOption('useCurrencyAccountingStyle');
}
set useCurrencyAccountingStyle(value) {
this._setOption('useCurrencyAccountingStyle', value);
}
get _optionPath() {
return 'format';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFormatComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeFormatComponent, isStandalone: true, selector: "dxo-linear-gauge-format", inputs: { currency: "currency", formatter: "formatter", parser: "parser", precision: "precision", type: "type", useCurrencyAccountingStyle: "useCurrencyAccountingStyle" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFormatComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-format', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { currency: [{
type: Input
}], formatter: [{
type: Input
}], parser: [{
type: Input
}], precision: [{
type: Input
}], type: [{
type: Input
}], useCurrencyAccountingStyle: [{
type: Input
}] } });
class DxoLinearGaugeFormatModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFormatModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFormatModule, imports: [DxoLinearGaugeFormatComponent], exports: [DxoLinearGaugeFormatComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFormatModule, imports: [DxoLinearGaugeFormatComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeFormatModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeFormatComponent
],
exports: [
DxoLinearGaugeFormatComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeGeometryComponent extends NestedOption {
get orientation() {
return this._getOption('orientation');
}
set orientation(value) {
this._setOption('orientation', value);
}
get _optionPath() {
return 'geometry';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeGeometryComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeGeometryComponent, isStandalone: true, selector: "dxo-linear-gauge-geometry", inputs: { orientation: "orientation" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeGeometryComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-geometry', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { orientation: [{
type: Input
}] } });
class DxoLinearGaugeGeometryModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeGeometryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeGeometryModule, imports: [DxoLinearGaugeGeometryComponent], exports: [DxoLinearGaugeGeometryComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeGeometryModule, imports: [DxoLinearGaugeGeometryComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeGeometryModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeGeometryComponent
],
exports: [
DxoLinearGaugeGeometryComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeLabelComponent extends NestedOption {
get customizeText() {
return this._getOption('customizeText');
}
set customizeText(value) {
this._setOption('customizeText', value);
}
get font() {
return this._getOption('font');
}
set font(value) {
this._setOption('font', value);
}
get format() {
return this._getOption('format');
}
set format(value) {
this._setOption('format', value);
}
get indentFromTick() {
return this._getOption('indentFromTick');
}
set indentFromTick(value) {
this._setOption('indentFromTick', value);
}
get overlappingBehavior() {
return this._getOption('overlappingBehavior');
}
set overlappingBehavior(value) {
this._setOption('overlappingBehavior', value);
}
get useRangeColors() {
return this._getOption('useRangeColors');
}
set useRangeColors(value) {
this._setOption('useRangeColors', value);
}
get visible() {
return this._getOption('visible');
}
set visible(value) {
this._setOption('visible', value);
}
get _optionPath() {
return 'label';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLabelComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeLabelComponent, isStandalone: true, selector: "dxo-linear-gauge-label", inputs: { customizeText: "customizeText", font: "font", format: "format", indentFromTick: "indentFromTick", overlappingBehavior: "overlappingBehavior", useRangeColors: "useRangeColors", visible: "visible" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLabelComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-label', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { customizeText: [{
type: Input
}], font: [{
type: Input
}], format: [{
type: Input
}], indentFromTick: [{
type: Input
}], overlappingBehavior: [{
type: Input
}], useRangeColors: [{
type: Input
}], visible: [{
type: Input
}] } });
class DxoLinearGaugeLabelModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLabelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLabelModule, imports: [DxoLinearGaugeLabelComponent], exports: [DxoLinearGaugeLabelComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLabelModule, imports: [DxoLinearGaugeLabelComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLabelModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeLabelComponent
],
exports: [
DxoLinearGaugeLabelComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeLoadingIndicatorComponent extends NestedOption {
get backgroundColor() {
return this._getOption('backgroundColor');
}
set backgroundColor(value) {
this._setOption('backgroundColor', value);
}
get font() {
return this._getOption('font');
}
set font(value) {
this._setOption('font', value);
}
get show() {
return this._getOption('show');
}
set show(value) {
this._setOption('show', value);
}
get text() {
return this._getOption('text');
}
set text(value) {
this._setOption('text', value);
}
get _optionPath() {
return 'loadingIndicator';
}
constructor(parentOptionHost, optionHost) {
super();
this._createEventEmitters([
{ emit: 'showChange' }
]);
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLoadingIndicatorComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeLoadingIndicatorComponent, isStandalone: true, selector: "dxo-linear-gauge-loading-indicator", inputs: { backgroundColor: "backgroundColor", font: "font", show: "show", text: "text" }, outputs: { showChange: "showChange" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLoadingIndicatorComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-loading-indicator', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { backgroundColor: [{
type: Input
}], font: [{
type: Input
}], show: [{
type: Input
}], text: [{
type: Input
}], showChange: [{
type: Output
}] } });
class DxoLinearGaugeLoadingIndicatorModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLoadingIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLoadingIndicatorModule, imports: [DxoLinearGaugeLoadingIndicatorComponent], exports: [DxoLinearGaugeLoadingIndicatorComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLoadingIndicatorModule, imports: [DxoLinearGaugeLoadingIndicatorComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeLoadingIndicatorModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeLoadingIndicatorComponent
],
exports: [
DxoLinearGaugeLoadingIndicatorComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeMarginComponent extends NestedOption {
get bottom() {
return this._getOption('bottom');
}
set bottom(value) {
this._setOption('bottom', value);
}
get left() {
return this._getOption('left');
}
set left(value) {
this._setOption('left', value);
}
get right() {
return this._getOption('right');
}
set right(value) {
this._setOption('right', value);
}
get top() {
return this._getOption('top');
}
set top(value) {
this._setOption('top', value);
}
get _optionPath() {
return 'margin';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMarginComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeMarginComponent, isStandalone: true, selector: "dxo-linear-gauge-margin", inputs: { bottom: "bottom", left: "left", right: "right", top: "top" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMarginComponent, decorators: [{
type: Component,
args: [{ selector: 'dxo-linear-gauge-margin', template: '', imports: [DxIntegrationModule], providers: [NestedOptionHost] }]
}], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }], propDecorators: { bottom: [{
type: Input
}], left: [{
type: Input
}], right: [{
type: Input
}], top: [{
type: Input
}] } });
class DxoLinearGaugeMarginModule {
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMarginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMarginModule, imports: [DxoLinearGaugeMarginComponent], exports: [DxoLinearGaugeMarginComponent] }); }
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMarginModule, imports: [DxoLinearGaugeMarginComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMarginModule, decorators: [{
type: NgModule,
args: [{
imports: [
DxoLinearGaugeMarginComponent
],
exports: [
DxoLinearGaugeMarginComponent
],
}]
}] });
/*!
* devextreme-angular
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 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
*/
/* tslint:disable:max-line-length */
class DxoLinearGaugeMinorTickComponent extends NestedOption {
get color() {
return this._getOption('color');
}
set color(value) {
this._setOption('color', value);
}
get length() {
return this._getOption('length');
}
set length(value) {
this._setOption('length', value);
}
get opacity() {
return this._getOption('opacity');
}
set opacity(value) {
this._setOption('opacity', value);
}
get visible() {
return this._getOption('visible');
}
set visible(value) {
this._setOption('visible', value);
}
get width() {
return this._getOption('width');
}
set width(value) {
this._setOption('width', value);
}
get _optionPath() {
return 'minorTick';
}
constructor(parentOptionHost, optionHost) {
super();
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.21", ngImport: i0, type: DxoLinearGaugeMinorTickComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }], target: i0.ɵɵFactoryTarget.Component }); }
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.21", type: DxoLinearGaugeMinorTickComponent, isStandalone: true, selector: "dxo-linear-gauge-minor-tick", inputs: { color: "color", length: "length", opacity: "opacity", visible: "visible", width: "width" }, providers: [NestedOptionHost], usesInheritance: true, ngImport: i0, template: '', isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0",