devextreme-angular
Version:
DevExtreme UI and Visualization Components for Angular
1 lines • 58.3 kB
Source Map (JSON)
{"version":3,"file":"devextreme-angular-ui-vector-map.mjs","sources":["../../../dist/ui/vector-map/index.ts","../../../dist/ui/vector-map/devextreme-angular-ui-vector-map.ts"],"sourcesContent":["/*!\n * devextreme-angular\n * Version: 26.1.3\n * Build date: Wed Jun 10 2026\n *\n * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/DevExtreme\n */\n\n/* tslint:disable:max-line-length */\n\n\nimport {\n TransferState,\n Component,\n NgModule,\n ElementRef,\n NgZone,\n PLATFORM_ID,\n Inject,\n\n Input,\n Output,\n OnDestroy,\n EventEmitter,\n OnChanges,\n DoCheck,\n SimpleChanges,\n ContentChildren,\n QueryList\n} from '@angular/core';\n\n\nimport type { dxVectorMapAnnotationConfig, dxVectorMapCommonAnnotationConfig, MapLayerElement, VectorMapMarkerType, VectorMapLayerType, VectorMapLegendItem, VectorMapMarkerShape, CenterChangedEvent, ClickEvent, DisposingEvent, DrawnEvent, ExportedEvent, ExportingEvent, FileSavingEvent, IncidentOccurredEvent, InitializedEvent, OptionChangedEvent, SelectionChangedEvent, TooltipHiddenEvent, TooltipShownEvent, ZoomFactorChangedEvent } from 'devextreme/viz/vector_map';\nimport type { HorizontalAlignment, VerticalEdge, ExportFormat, SingleMultipleOrNone, Position, Orientation } from 'devextreme/common';\nimport type { default as DataSource, DataSourceOptions } from 'devextreme/data/data_source';\nimport type { Store } from 'devextreme/data/store';\nimport type { Font, Palette, DashStyle, Theme, TextOverflow, WordWrap } from 'devextreme/common/charts';\nimport type { VectorMapProjection, VectorMapProjectionConfig } from 'devextreme/viz/vector_map/projection';\n\nimport DxVectorMap from 'devextreme/viz/vector_map';\n\n\nimport {\n DxComponent,\n DxTemplateHost,\n DxIntegrationModule,\n DxTemplateModule,\n NestedOptionHost,\n IterableDifferHelper,\n WatcherHelper,\n CollectionNestedOption,\n} from 'devextreme-angular/core';\n\nimport { DxiAnnotationModule } from 'devextreme-angular/ui/nested';\nimport { DxoBorderModule } from 'devextreme-angular/ui/nested';\nimport { DxoFontModule } from 'devextreme-angular/ui/nested';\nimport { DxoImageModule } from 'devextreme-angular/ui/nested';\nimport { DxoShadowModule } from 'devextreme-angular/ui/nested';\nimport { DxoBackgroundModule } from 'devextreme-angular/ui/nested';\nimport { DxoCommonAnnotationSettingsModule } from 'devextreme-angular/ui/nested';\nimport { DxoControlBarModule } from 'devextreme-angular/ui/nested';\nimport { DxoExportModule } from 'devextreme-angular/ui/nested';\nimport { DxiLayerModule } from 'devextreme-angular/ui/nested';\nimport { DxoLabelModule } from 'devextreme-angular/ui/nested';\nimport { DxiLegendModule } from 'devextreme-angular/ui/nested';\nimport { DxoMarginModule } from 'devextreme-angular/ui/nested';\nimport { DxoSourceModule } from 'devextreme-angular/ui/nested';\nimport { DxoTitleModule } from 'devextreme-angular/ui/nested';\nimport { DxoSubtitleModule } from 'devextreme-angular/ui/nested';\nimport { DxoLoadingIndicatorModule } from 'devextreme-angular/ui/nested';\nimport { DxoProjectionModule } from 'devextreme-angular/ui/nested';\nimport { DxoSizeModule } from 'devextreme-angular/ui/nested';\nimport { DxoTooltipModule } from 'devextreme-angular/ui/nested';\n\nimport { DxiVectorMapAnnotationModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapAnnotationBorderModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapBackgroundModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapBorderModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapCommonAnnotationSettingsModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapControlBarModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapExportModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapFontModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapImageModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapLabelModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxiVectorMapLayerModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxiVectorMapLegendModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapLegendTitleModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapLegendTitleSubtitleModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapLoadingIndicatorModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapMarginModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapProjectionModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapShadowModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapSizeModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapSourceModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapSubtitleModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapTitleModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapTooltipModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapTooltipBorderModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapVectorMapTitleModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { DxoVectorMapVectorMapTitleSubtitleModule } from 'devextreme-angular/ui/vector-map/nested';\nimport { \n PROPERTY_TOKEN_annotations,\n PROPERTY_TOKEN_layers,\n PROPERTY_TOKEN_legends,\n } from 'devextreme-angular/core/tokens';\n\n\n/**\n * The VectorMap is a UI component that visualizes geographical locations. This UI component represents a geographical map that contains areas and markers. Areas embody continents and countries. Markers flag specific points on the map, for example, towns, cities or capitals.\n\n */\n@Component({\n selector: 'dx-vector-map',\n template: '',\n styles: [ ' :host { display: block; }'],\n host: { ngSkipHydration: 'true' },\n imports: [ DxIntegrationModule ],\n providers: [\n DxTemplateHost,\n WatcherHelper,\n NestedOptionHost,\n IterableDifferHelper\n ]\n})\nexport class DxVectorMapComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck {\n\n @ContentChildren(PROPERTY_TOKEN_annotations)\n set _annotationsContentChildren(value: QueryList<CollectionNestedOption>) {\n this.setChildren('annotations', value);\n }\n\n @ContentChildren(PROPERTY_TOKEN_layers)\n set _layersContentChildren(value: QueryList<CollectionNestedOption>) {\n this.setChildren('layers', value);\n }\n\n @ContentChildren(PROPERTY_TOKEN_legends)\n set _legendsContentChildren(value: QueryList<CollectionNestedOption>) {\n this.setChildren('legends', value);\n }\n\n instance: DxVectorMap = null;\n\n /**\n * Specifies the annotation collection.\n \n */\n @Input()\n get annotations(): Array<any | dxVectorMapAnnotationConfig> {\n return this._getOption('annotations');\n }\n set annotations(value: Array<any | dxVectorMapAnnotationConfig>) {\n this._setOption('annotations', value);\n }\n\n\n /**\n * Specifies the properties for the map background.\n \n */\n @Input()\n get background(): { borderColor?: string, color?: string } {\n return this._getOption('background');\n }\n set background(value: { borderColor?: string, color?: string }) {\n this._setOption('background', value);\n }\n\n\n /**\n * Specifies the positioning of a map in geographical coordinates.\n \n */\n @Input()\n get bounds(): Array<number> {\n return this._getOption('bounds');\n }\n set bounds(value: Array<number>) {\n this._setOption('bounds', value);\n }\n\n\n /**\n * Specifies the geographical coordinates of the center for a map.\n \n */\n @Input()\n get center(): Array<number> {\n return this._getOption('center');\n }\n set center(value: Array<number>) {\n this._setOption('center', value);\n }\n\n\n /**\n * Specifies settings common for all annotations in the VectorMap.\n \n */\n @Input()\n get commonAnnotationSettings(): dxVectorMapCommonAnnotationConfig {\n return this._getOption('commonAnnotationSettings');\n }\n set commonAnnotationSettings(value: dxVectorMapCommonAnnotationConfig) {\n this._setOption('commonAnnotationSettings', value);\n }\n\n\n /**\n * Configures the control bar.\n \n */\n @Input()\n get controlBar(): { borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: HorizontalAlignment, margin?: number, opacity?: number, panVisible?: boolean, verticalAlignment?: VerticalEdge, zoomVisible?: boolean } {\n return this._getOption('controlBar');\n }\n set controlBar(value: { borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: HorizontalAlignment, margin?: number, opacity?: number, panVisible?: boolean, verticalAlignment?: VerticalEdge, zoomVisible?: boolean }) {\n this._setOption('controlBar', value);\n }\n\n\n /**\n * Customizes an individual annotation.\n \n */\n @Input()\n get customizeAnnotation(): ((annotation: dxVectorMapAnnotationConfig | any) => dxVectorMapAnnotationConfig) | undefined {\n return this._getOption('customizeAnnotation');\n }\n set customizeAnnotation(value: ((annotation: dxVectorMapAnnotationConfig | any) => dxVectorMapAnnotationConfig) | undefined) {\n this._setOption('customizeAnnotation', value);\n }\n\n\n /**\n * Specifies whether the UI component responds to user interaction.\n \n */\n @Input()\n get disabled(): boolean {\n return this._getOption('disabled');\n }\n set disabled(value: boolean) {\n this._setOption('disabled', value);\n }\n\n\n /**\n * Specifies the global attributes to be attached to the UI component's container element.\n \n */\n @Input()\n get elementAttr(): Record<string, any> {\n return this._getOption('elementAttr');\n }\n set elementAttr(value: Record<string, any>) {\n this._setOption('elementAttr', value);\n }\n\n\n /**\n * Configures the exporting and printing features.\n \n */\n @Input()\n get export(): { backgroundColor?: string, enabled?: boolean, fileName?: string, formats?: Array<ExportFormat>, margin?: number, printingEnabled?: boolean, svgToCanvas?: ((svg: any, canvas: any) => any) | undefined } {\n return this._getOption('export');\n }\n set export(value: { backgroundColor?: string, enabled?: boolean, fileName?: string, formats?: Array<ExportFormat>, margin?: number, printingEnabled?: boolean, svgToCanvas?: ((svg: any, canvas: any) => any) | undefined }) {\n this._setOption('export', value);\n }\n\n\n /**\n * Specifies properties for VectorMap UI component layers.\n \n */\n @Input()\n get layers(): { borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string | undefined, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => void), dataField?: string | undefined, dataSource?: Array<any> | DataSource | DataSourceOptions | null | Record<string, any> | Store | string, elementType?: VectorMapMarkerType, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, hoverEnabled?: boolean, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | Palette, paletteIndex?: number, paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: SingleMultipleOrNone, size?: number, sizeGroupingField?: string | undefined, sizeGroups?: Array<number>, type?: VectorMapLayerType }[] {\n return this._getOption('layers');\n }\n set layers(value: { borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string | undefined, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => void), dataField?: string | undefined, dataSource?: Array<any> | DataSource | DataSourceOptions | null | Record<string, any> | Store | string, elementType?: VectorMapMarkerType, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, hoverEnabled?: boolean, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | Palette, paletteIndex?: number, paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: SingleMultipleOrNone, size?: number, sizeGroupingField?: string | undefined, sizeGroups?: Array<number>, type?: VectorMapLayerType }[]) {\n this._setOption('layers', value);\n }\n\n\n /**\n * Configures map legends.\n \n */\n @Input()\n get legends(): { backgroundColor?: string | undefined, border?: { color?: string, cornerRadius?: number, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, columnCount?: number, columnItemSpacing?: number, customizeHint?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>), customizeText?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), font?: Font, horizontalAlignment?: HorizontalAlignment, itemsAlignment?: HorizontalAlignment | undefined, itemTextPosition?: Position | undefined, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, markerColor?: string | undefined, markerShape?: VectorMapMarkerShape, markerSize?: number, markerTemplate?: any, orientation?: Orientation | undefined, paddingLeftRight?: number, paddingTopBottom?: number, rowCount?: number, rowItemSpacing?: number, source?: { grouping?: string, layer?: string }, title?: string | { font?: Font, horizontalAlignment?: HorizontalAlignment | undefined, margin?: { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string }, text?: string, verticalAlignment?: VerticalEdge }, verticalAlignment?: VerticalEdge, visible?: boolean }[] {\n return this._getOption('legends');\n }\n set legends(value: { backgroundColor?: string | undefined, border?: { color?: string, cornerRadius?: number, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, columnCount?: number, columnItemSpacing?: number, customizeHint?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>), customizeText?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), font?: Font, horizontalAlignment?: HorizontalAlignment, itemsAlignment?: HorizontalAlignment | undefined, itemTextPosition?: Position | undefined, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, markerColor?: string | undefined, markerShape?: VectorMapMarkerShape, markerSize?: number, markerTemplate?: any, orientation?: Orientation | undefined, paddingLeftRight?: number, paddingTopBottom?: number, rowCount?: number, rowItemSpacing?: number, source?: { grouping?: string, layer?: string }, title?: string | { font?: Font, horizontalAlignment?: HorizontalAlignment | undefined, margin?: { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string }, text?: string, verticalAlignment?: VerticalEdge }, verticalAlignment?: VerticalEdge, visible?: boolean }[]) {\n this._setOption('legends', value);\n }\n\n\n /**\n * Configures the loading indicator.\n \n */\n @Input()\n get loadingIndicator(): { backgroundColor?: string, enabled?: boolean, font?: Font, show?: boolean, text?: string } {\n return this._getOption('loadingIndicator');\n }\n set loadingIndicator(value: { backgroundColor?: string, enabled?: boolean, font?: Font, show?: boolean, text?: string }) {\n this._setOption('loadingIndicator', value);\n }\n\n\n /**\n * Specifies a map's maximum zoom factor.\n \n */\n @Input()\n get maxZoomFactor(): number {\n return this._getOption('maxZoomFactor');\n }\n set maxZoomFactor(value: number) {\n this._setOption('maxZoomFactor', value);\n }\n\n\n /**\n * Disables the panning capability.\n \n */\n @Input()\n get panningEnabled(): boolean {\n return this._getOption('panningEnabled');\n }\n set panningEnabled(value: boolean) {\n this._setOption('panningEnabled', value);\n }\n\n\n /**\n * Notifies the UI component that it is embedded into an HTML page that uses a tag modifying the path.\n \n */\n @Input()\n get pathModified(): boolean {\n return this._getOption('pathModified');\n }\n set pathModified(value: boolean) {\n this._setOption('pathModified', value);\n }\n\n\n /**\n * Specifies the map projection.\n \n */\n @Input()\n get projection(): Record<string, any> | string | VectorMapProjection | VectorMapProjectionConfig {\n return this._getOption('projection');\n }\n set projection(value: Record<string, any> | string | VectorMapProjection | VectorMapProjectionConfig) {\n this._setOption('projection', value);\n }\n\n\n /**\n * Specifies whether to redraw the UI component when the size of the container changes or a mobile device rotates.\n \n */\n @Input()\n get redrawOnResize(): boolean {\n return this._getOption('redrawOnResize');\n }\n set redrawOnResize(value: boolean) {\n this._setOption('redrawOnResize', value);\n }\n\n\n /**\n * Switches the UI component to a right-to-left representation.\n \n */\n @Input()\n get rtlEnabled(): boolean {\n return this._getOption('rtlEnabled');\n }\n set rtlEnabled(value: boolean) {\n this._setOption('rtlEnabled', value);\n }\n\n\n /**\n * Specifies the UI component's size in pixels.\n \n */\n @Input()\n get size(): { height?: number | undefined, width?: number | undefined } {\n return this._getOption('size');\n }\n set size(value: { height?: number | undefined, width?: number | undefined }) {\n this._setOption('size', value);\n }\n\n\n /**\n * Sets the name of the theme the UI component uses.\n \n */\n @Input()\n get theme(): Theme {\n return this._getOption('theme');\n }\n set theme(value: Theme) {\n this._setOption('theme', value);\n }\n\n\n /**\n * Configures the UI component's title.\n \n */\n @Input()\n get title(): string | { font?: Font, horizontalAlignment?: HorizontalAlignment, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string, textOverflow?: TextOverflow, wordWrap?: WordWrap }, text?: string, textOverflow?: TextOverflow, verticalAlignment?: VerticalEdge, wordWrap?: WordWrap } {\n return this._getOption('title');\n }\n set title(value: string | { font?: Font, horizontalAlignment?: HorizontalAlignment, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string, textOverflow?: TextOverflow, wordWrap?: WordWrap }, text?: string, textOverflow?: TextOverflow, verticalAlignment?: VerticalEdge, wordWrap?: WordWrap }) {\n this._setOption('title', value);\n }\n\n\n /**\n * Configures tooltips.\n \n */\n @Input()\n get tooltip(): { arrowLength?: number, border?: { color?: string, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, color?: string, container?: any | string | undefined, contentTemplate?: any, cornerRadius?: number, customizeTooltip?: ((info: MapLayerElement) => Record<string, any>) | undefined, enabled?: boolean, font?: Font, opacity?: number | undefined, paddingLeftRight?: number, paddingTopBottom?: number, shadow?: { blur?: number, color?: string, offsetX?: number, offsetY?: number, opacity?: number }, zIndex?: number | undefined } {\n return this._getOption('tooltip');\n }\n set tooltip(value: { arrowLength?: number, border?: { color?: string, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, color?: string, container?: any | string | undefined, contentTemplate?: any, cornerRadius?: number, customizeTooltip?: ((info: MapLayerElement) => Record<string, any>) | undefined, enabled?: boolean, font?: Font, opacity?: number | undefined, paddingLeftRight?: number, paddingTopBottom?: number, shadow?: { blur?: number, color?: string, offsetX?: number, offsetY?: number, opacity?: number }, zIndex?: number | undefined }) {\n this._setOption('tooltip', value);\n }\n\n\n /**\n * Specifies whether the map should respond to touch gestures.\n \n */\n @Input()\n get touchEnabled(): boolean {\n return this._getOption('touchEnabled');\n }\n set touchEnabled(value: boolean) {\n this._setOption('touchEnabled', value);\n }\n\n\n /**\n * Specifies whether or not the map should respond when a user rolls the mouse wheel.\n \n */\n @Input()\n get wheelEnabled(): boolean {\n return this._getOption('wheelEnabled');\n }\n set wheelEnabled(value: boolean) {\n this._setOption('wheelEnabled', value);\n }\n\n\n /**\n * Specifies a number that is used to zoom a map initially.\n \n */\n @Input()\n get zoomFactor(): number {\n return this._getOption('zoomFactor');\n }\n set zoomFactor(value: number) {\n this._setOption('zoomFactor', value);\n }\n\n\n /**\n * Disables the zooming capability.\n \n */\n @Input()\n get zoomingEnabled(): boolean {\n return this._getOption('zoomingEnabled');\n }\n set zoomingEnabled(value: boolean) {\n this._setOption('zoomingEnabled', value);\n }\n\n /**\n \n * A function that is executed each time the center coordinates are changed.\n \n \n */\n @Output() onCenterChanged: EventEmitter<CenterChangedEvent>;\n\n /**\n \n * A function that is executed when any location on the map is clicked or tapped.\n \n \n */\n @Output() onClick: EventEmitter<ClickEvent>;\n\n /**\n \n * A function that is executed before the UI component is disposed of.\n \n \n */\n @Output() onDisposing: EventEmitter<DisposingEvent>;\n\n /**\n \n * A function that is executed when the UI component's rendering has finished.\n \n \n */\n @Output() onDrawn: EventEmitter<DrawnEvent>;\n\n /**\n \n * A function that is executed after the UI component is exported.\n \n \n */\n @Output() onExported: EventEmitter<ExportedEvent>;\n\n /**\n \n * A function that is executed before the UI component is exported.\n \n \n */\n @Output() onExporting: EventEmitter<ExportingEvent>;\n\n /**\n \n * A function that is executed before a file with exported UI component is saved to the user's local storage.\n \n \n */\n @Output() onFileSaving: EventEmitter<FileSavingEvent>;\n\n /**\n \n * A function that is executed when an error or warning occurs.\n \n \n */\n @Output() onIncidentOccurred: EventEmitter<IncidentOccurredEvent>;\n\n /**\n \n * A function used in JavaScript frameworks to save the UI component instance.\n \n \n */\n @Output() onInitialized: EventEmitter<InitializedEvent>;\n\n /**\n \n * A function that is executed after a UI component property is changed.\n \n \n */\n @Output() onOptionChanged: EventEmitter<OptionChangedEvent>;\n\n /**\n \n * A function that is executed when a layer element is selected or selection is canceled.\n \n \n */\n @Output() onSelectionChanged: EventEmitter<SelectionChangedEvent>;\n\n /**\n \n * A function that is executed when a tooltip becomes hidden.\n \n \n */\n @Output() onTooltipHidden: EventEmitter<TooltipHiddenEvent>;\n\n /**\n \n * A function that is executed when a tooltip appears.\n \n \n */\n @Output() onTooltipShown: EventEmitter<TooltipShownEvent>;\n\n /**\n \n * A function that is executed each time the zoom factor is changed.\n \n \n */\n @Output() onZoomFactorChanged: EventEmitter<ZoomFactorChangedEvent>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() annotationsChange: EventEmitter<Array<any | dxVectorMapAnnotationConfig>>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() backgroundChange: EventEmitter<{ borderColor?: string, color?: string }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() boundsChange: EventEmitter<Array<number>>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() centerChange: EventEmitter<Array<number>>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() commonAnnotationSettingsChange: EventEmitter<dxVectorMapCommonAnnotationConfig>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() controlBarChange: EventEmitter<{ borderColor?: string, color?: string, enabled?: boolean, horizontalAlignment?: HorizontalAlignment, margin?: number, opacity?: number, panVisible?: boolean, verticalAlignment?: VerticalEdge, zoomVisible?: boolean }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() customizeAnnotationChange: EventEmitter<((annotation: dxVectorMapAnnotationConfig | any) => dxVectorMapAnnotationConfig) | undefined>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() disabledChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() elementAttrChange: EventEmitter<Record<string, any>>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() exportChange: EventEmitter<{ backgroundColor?: string, enabled?: boolean, fileName?: string, formats?: Array<ExportFormat>, margin?: number, printingEnabled?: boolean, svgToCanvas?: ((svg: any, canvas: any) => any) | undefined }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() layersChange: EventEmitter<{ borderColor?: string, borderWidth?: number, color?: string, colorGroupingField?: string | undefined, colorGroups?: Array<number>, customize?: ((elements: Array<MapLayerElement>) => void), dataField?: string | undefined, dataSource?: Array<any> | DataSource | DataSourceOptions | null | Record<string, any> | Store | string, elementType?: VectorMapMarkerType, hoveredBorderColor?: string, hoveredBorderWidth?: number, hoveredColor?: string, hoverEnabled?: boolean, label?: { dataField?: string, enabled?: boolean, font?: Font }, maxSize?: number, minSize?: number, name?: string, opacity?: number, palette?: Array<string> | Palette, paletteIndex?: number, paletteSize?: number, selectedBorderColor?: string, selectedBorderWidth?: number, selectedColor?: string, selectionMode?: SingleMultipleOrNone, size?: number, sizeGroupingField?: string | undefined, sizeGroups?: Array<number>, type?: VectorMapLayerType }[]>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() legendsChange: EventEmitter<{ backgroundColor?: string | undefined, border?: { color?: string, cornerRadius?: number, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, columnCount?: number, columnItemSpacing?: number, customizeHint?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), customizeItems?: ((items: Array<VectorMapLegendItem>) => Array<VectorMapLegendItem>), customizeText?: ((itemInfo: { color: string, end: number, index: number, size: number, start: number }) => string), font?: Font, horizontalAlignment?: HorizontalAlignment, itemsAlignment?: HorizontalAlignment | undefined, itemTextPosition?: Position | undefined, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, markerColor?: string | undefined, markerShape?: VectorMapMarkerShape, markerSize?: number, markerTemplate?: any, orientation?: Orientation | undefined, paddingLeftRight?: number, paddingTopBottom?: number, rowCount?: number, rowItemSpacing?: number, source?: { grouping?: string, layer?: string }, title?: string | { font?: Font, horizontalAlignment?: HorizontalAlignment | undefined, margin?: { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string }, text?: string, verticalAlignment?: VerticalEdge }, verticalAlignment?: VerticalEdge, visible?: boolean }[]>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() loadingIndicatorChange: EventEmitter<{ backgroundColor?: string, enabled?: boolean, font?: Font, show?: boolean, text?: string }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() maxZoomFactorChange: EventEmitter<number>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() panningEnabledChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() pathModifiedChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() projectionChange: EventEmitter<Record<string, any> | string | VectorMapProjection | VectorMapProjectionConfig>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() redrawOnResizeChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() rtlEnabledChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() sizeChange: EventEmitter<{ height?: number | undefined, width?: number | undefined }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() themeChange: EventEmitter<Theme>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() titleChange: EventEmitter<string | { font?: Font, horizontalAlignment?: HorizontalAlignment, margin?: number | { bottom?: number, left?: number, right?: number, top?: number }, placeholderSize?: number | undefined, subtitle?: string | { font?: Font, offset?: number, text?: string, textOverflow?: TextOverflow, wordWrap?: WordWrap }, text?: string, textOverflow?: TextOverflow, verticalAlignment?: VerticalEdge, wordWrap?: WordWrap }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() tooltipChange: EventEmitter<{ arrowLength?: number, border?: { color?: string, dashStyle?: DashStyle, opacity?: number | undefined, visible?: boolean, width?: number }, color?: string, container?: any | string | undefined, contentTemplate?: any, cornerRadius?: number, customizeTooltip?: ((info: MapLayerElement) => Record<string, any>) | undefined, enabled?: boolean, font?: Font, opacity?: number | undefined, paddingLeftRight?: number, paddingTopBottom?: number, shadow?: { blur?: number, color?: string, offsetX?: number, offsetY?: number, opacity?: number }, zIndex?: number | undefined }>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() touchEnabledChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() wheelEnabledChange: EventEmitter<boolean>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() zoomFactorChange: EventEmitter<number>;\n\n /**\n \n * This member supports the internal infrastructure and is not intended to be used directly from your code.\n \n */\n @Output() zoomingEnabledChange: EventEmitter<boolean>;\n\n\n\n\n constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost,\n private _watcherHelper: WatcherHelper,\n private _idh: IterableDifferHelper,\n optionHost: NestedOptionHost,\n transferState: TransferState,\n @Inject(PLATFORM_ID) platformId: any) {\n\n super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);\n\n this._createEventEmitters([\n { subscribe: 'centerChanged', emit: 'onCenterChanged' },\n { subscribe: 'click', emit: 'onClick' },\n { subscribe: 'disposing', emit: 'onDisposing' },\n { subscribe: 'drawn', emit: 'onDrawn' },\n { subscribe: 'exported', emit: 'onExported' },\n { subscribe: 'exporting', emit: 'onExporting' },\n { subscribe: 'fileSaving', emit: 'onFileSaving' },\n { subscribe: 'incidentOccurred', emit: 'onIncidentOccurred' },\n { subscribe: 'initialized', emit: 'onInitialized' },\n { subscribe: 'optionChanged', emit: 'onOptionChanged' },\n { subscribe: 'selectionChanged', emit: 'onSelectionChanged' },\n { subscribe: 'tooltipHidden', emit: 'onTooltipHidden' },\n { subscribe: 'tooltipShown', emit: 'onTooltipShown' },\n { subscribe: 'zoomFactorChanged', emit: 'onZoomFactorChanged' },\n { emit: 'annotationsChange' },\n { emit: 'backgroundChange' },\n { emit: 'boundsChange' },\n { emit: 'centerChange' },\n { emit: 'commonAnnotationSettingsChange' },\n { emit: 'controlBarChange' },\n { emit: 'customizeAnnotationChange' },\n { emit: 'disabledChange' },\n { emit: 'elementAttrChange' },\n { emit: 'exportChange' },\n { emit: 'layersChange' },\n { emit: 'legendsChange' },\n { emit: 'loadingIndicatorChange' },\n { emit: 'maxZoomFactorChange' },\n { emit: 'panningEnabledChange' },\n { emit: 'pathModifiedChange' },\n { emit: 'projectionChange' },\n { emit: 'redrawOnResizeChange' },\n { emit: 'rtlEnabledChange' },\n { emit: 'sizeChange' },\n { emit: 'themeChange' },\n { emit: 'titleChange' },\n { emit: 'tooltipChange' },\n { emit: 'touchEnabledChange' },\n { emit: 'wheelEnabledChange' },\n { emit: 'zoomFactorChange' },\n { emit: 'zoomingEnabledChange' }\n ]);\n\n this._idh.setHost(this);\n optionHost.setHost(this);\n }\n\n protected _createInstance(element, options) {\n\n return new DxVectorMap(element, options);\n }\n\n\n ngOnDestroy() {\n this._destroyWidget();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n this.setupChanges('annotations', changes);\n this.setupChanges('bounds', changes);\n this.setupChanges('center', changes);\n this.setupChanges('layers', changes);\n this.setupChanges('legends', changes);\n }\n\n setupChanges(prop: string, changes: SimpleChanges) {\n if (!(prop in this._optionsToUpdate)) {\n this._idh.setup(prop, changes);\n }\n }\n\n ngDoCheck() {\n this._idh.doCheck('annotations');\n this._idh.doCheck('bounds');\n this._idh.doCheck('center');\n this._idh.doCheck('layers');\n this._idh.doCheck('legends');\n this._watcherHelper.checkWatchers();\n super.ngDoCheck();\n super.clearChangedOptions();\n }\n\n _setOption(name: string, value: any) {\n let isSetup = this._idh.setupSingle(name, value);\n let isChanged = this._idh.getChanges(name, value) !== null;\n\n if (isSetup || isChanged) {\n super._setOption(name, value);\n }\n }\n}\n\n@NgModule({\n imports: [\n DxVectorMapComponent,\n DxiAnnotationModule,\n DxoBorderModule,\n DxoFontModule,\n DxoImageModule,\n DxoShadowModule,\n DxoBackgroundModule,\n DxoCommonAnnotationSettingsModule,\n DxoControlBarModule,\n DxoExportModule,\n DxiLayerModule,\n DxoLabelModule,\n DxiLegendModule,\n DxoMarginModule,\n DxoSourceModule,\n DxoTitleModule,\n DxoSubtitleModule,\n DxoLoadingIndicatorModule,\n DxoProjectionModule,\n DxoSizeModule,\n DxoTooltipModule,\n DxiVectorMapAnnotationModule,\n DxoVectorMapAnnotationBorderModule,\n DxoVectorMapBackgroundModule,\n DxoVectorMapBorderModule,\n DxoVectorMapCommonAnnotationSettingsModule,\n DxoVectorMapControlBarModule,\n DxoVectorMapExportModule,\n DxoVectorMapFontModule,\n DxoVectorMapImageModule,\n DxoVectorMapLabelModule,\n DxiVectorMapLayerModule,\n DxiVectorMapLegendModule,\n DxoVectorMapLegendTitleModule,\n DxoVectorMapLegendTitleSubtitleModule,\n DxoVectorMapLoadingIndicatorModule,\n DxoVectorMapMarginModule,\n DxoVectorMapProjectionModule,\n DxoVectorMapShadowModule,\n DxoVectorMapSizeModule,\n DxoVectorMapSourceModule,\n DxoVectorMapSubtitleModule,\n DxoVectorMapTitleModule,\n DxoVectorMapTooltipModule,\n DxoVectorMapTooltipBorderModule,\n DxoVectorMapVectorMapTitleModule,\n DxoVectorMapVectorMapTitleSubtitleModule,\n DxIntegrationModule,\n DxTemplateModule\n ],\n exports: [\n DxVectorMapComponent,\n DxiAnnotationModule,\n DxoBorderModule,\n DxoFontModule,\n DxoImageModule,\n DxoShadowModule,\n DxoBackgroundModule,\n DxoCommonAnnotationSettingsModule,\n DxoControlBarModule,\n DxoExportModule,\n DxiLayerModule,\n DxoLabelModule,\n DxiLegendModule,\n DxoMarginModule,\n DxoSourceModule,\n DxoTitleModule,\n DxoSubtitleModule,\n DxoLoadingIndicatorModule,\n DxoProjectionModule,\n DxoSizeModule,\n DxoTooltipModule,\n DxiVectorMapAnnotationModule,\n DxoVectorMapAnnotationBorderModule,\n DxoVectorMapBackgroundModule,\n DxoVectorMapBorderModule,\n DxoVectorMapCommonAnnotationSettingsModule,\n DxoVectorMapControlBarModule,\n DxoVectorMapExportModule,\n DxoVectorMapFontModule,\n DxoVectorMapImageModule,\n DxoVectorMapLabelModule,\n DxiVectorMapLayerModule,\n DxiVectorMapLegendModule,\n DxoVectorMapLegendTitleModule,\n DxoVectorMapLegendTitleSubtitleModule,\n DxoVectorMapLoadingIndicatorModule,\n DxoVectorMapMarginModule,\n DxoVectorMapProjectionModule,\n DxoVectorMapShadowModule,\n DxoVectorMapSizeModule,\n DxoVectorMapSourceModule,\n DxoVectorMapSubtitleModule,\n DxoVectorMapTitleModule,\n DxoVectorMapTooltipModule,\n DxoVectorMapTooltipBorderModule,\n DxoVectorMapVectorMapTitleModule,\n DxoVectorMapVectorMapTitleSubtitleModule,\n DxTemplateModule\n ]\n})\nexport class DxVectorMapModule { }\n\nexport * from 'devextreme-angular/ui/vector-map/nested';\n\nimport type * as DxVectorMapTypes from \"devextreme/viz/vector_map_types\";\nexport { DxVectorMapTypes };\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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