@syncfusion/ej2-maps 21.2.10 → 22.1.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { Ajax, Animation, Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, L10n, NotifyPropertyChanges, Property, SanitizeHtmlHelper, compile, createElement, extend, isNullOrUndefined, merge, print, remove, setValue } from '@syncfusion/ej2-base';
1
+ import { Animation, Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Fetch, Internationalization, L10n, NotifyPropertyChanges, Property, SanitizeHtmlHelper, compile, createElement, extend, isNullOrUndefined, merge, print, remove, setValue } from '@syncfusion/ej2-base';
2
2
  import { SvgRenderer, Tooltip } from '@syncfusion/ej2-svg-base';
3
3
  import { DataManager, Query } from '@syncfusion/ej2-data';
4
4
  import { PdfBitmap, PdfDocument, PdfPageOrientation } from '@syncfusion/ej2-pdf-export';
@@ -828,7 +828,7 @@ function drawSymbols(shape, imageUrl, location, markerID, shapeCustom, markerCol
828
828
  }
829
829
  else if (shape === 'Image') {
830
830
  x = location.x - (size.width / 2);
831
- y = location.y - (size.height / 2);
831
+ y = location.y - (markerID.indexOf('cluster') > -1 ? (size.height / 2) : size.height);
832
832
  merge(pathOptions, { 'href': imageUrl, 'height': size.height, 'width': size.width, x: x, y: y });
833
833
  markerEle = maps.renderer.drawImage(pathOptions);
834
834
  }
@@ -2375,13 +2375,16 @@ function getTemplateFunction(template, maps) {
2375
2375
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2376
2376
  var templateFn = null;
2377
2377
  try {
2378
- if (document.querySelectorAll(template).length) {
2378
+ if (typeof template !== 'function' && document.querySelectorAll(template).length) {
2379
2379
  templateFn = compile(document.querySelector(template).innerHTML.trim());
2380
2380
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2381
2381
  }
2382
2382
  else if (maps.isVue || maps.isVue3) {
2383
2383
  templateFn = compile(template);
2384
2384
  }
2385
+ else if (typeof template === 'function') {
2386
+ templateFn = compile(template);
2387
+ }
2385
2388
  }
2386
2389
  catch (e) {
2387
2390
  templateFn = compile(template);
@@ -3576,6 +3579,14 @@ function getShapeColor(theme) {
3576
3579
  themePalette = ['#8AB113', '#2A72D5', '#43B786', '#584EC6', '#E85F9C',
3577
3580
  '#6E7A89', '#EA6266', '#EBA844', '#26BC7A', '#BC4870'];
3578
3581
  break;
3582
+ case 'material3':
3583
+ themePalette = ['#6200EE', '#E77A16', '#82C100', '#7107DC', '#05BB3D',
3584
+ '#D21020', '#FAD200', '#0085FF', '#9204EA', '#08EE9B'];
3585
+ break;
3586
+ case 'material3dark':
3587
+ themePalette = ['#4EAAFF', '#FA4EAB', '#FFF500', '#17EA58', '#38FFE7',
3588
+ '#FF9E45', '#B3F32F', '#B93CE4', '#FC5664', '#9B55FF'];
3589
+ break;
3579
3590
  default:
3580
3591
  themePalette = ['#B5E485', '#7BC1E8', '#DF819C', '#EC9B79', '#78D0D3',
3581
3592
  '#D6D572', '#9178E3', '#A1E5B4', '#87A4B4', '#E4C16C'];
@@ -3724,9 +3735,14 @@ function getThemeStyle(theme) {
3724
3735
  zoomFillColor: '#FFFFFF',
3725
3736
  labelFontFamily: 'Roboto, Noto, Sans-serif',
3726
3737
  fontFamily: 'Roboto, Noto, Sans-serif',
3738
+ fontSize: '12px',
3739
+ fontWeight: 'Medium',
3727
3740
  titleFontWeight: 'Medium',
3728
3741
  zoomSelectionColor: '#e61576',
3729
- shapeFill: '#A6A6A6'
3742
+ shapeFill: '#A6A6A6',
3743
+ rectangleZoomFillColor: '#d3d3d3',
3744
+ rectangleZoomFillOpacity: 0.5,
3745
+ rectangleZoomBorderColor: "#009900"
3730
3746
  };
3731
3747
  break;
3732
3748
  case 'highcontrast':
@@ -3743,10 +3759,15 @@ function getThemeStyle(theme) {
3743
3759
  tooltipFillColor: '#ffffff',
3744
3760
  zoomFillColor: '#FFFFFF',
3745
3761
  fontFamily: 'Roboto, Noto, Sans-serif',
3762
+ fontSize: '12px',
3763
+ fontWeight: 'Medium',
3746
3764
  labelFontFamily: 'Roboto, Noto, Sans-serif',
3747
3765
  titleFontWeight: 'Medium',
3748
3766
  zoomSelectionColor: '#e61576',
3749
- shapeFill: '#A6A6A6'
3767
+ shapeFill: '#A6A6A6',
3768
+ rectangleZoomFillColor: '#d3d3d3',
3769
+ rectangleZoomFillOpacity: 0.5,
3770
+ rectangleZoomBorderColor: "#009900"
3750
3771
  };
3751
3772
  break;
3752
3773
  case 'bootstrap4':
@@ -3762,6 +3783,8 @@ function getThemeStyle(theme) {
3762
3783
  tooltipFillColor: '#000000',
3763
3784
  zoomFillColor: '#5B6269',
3764
3785
  fontFamily: 'HelveticaNeue-Medium',
3786
+ fontSize: '12px',
3787
+ fontWeight: 'Medium',
3765
3788
  titleFontSize: '16px',
3766
3789
  legendFontSize: '14px',
3767
3790
  tooltipFillOpacity: 1,
@@ -3769,7 +3792,10 @@ function getThemeStyle(theme) {
3769
3792
  labelFontFamily: 'HelveticaNeue-Medium',
3770
3793
  titleFontWeight: 'Medium',
3771
3794
  zoomSelectionColor: '#e61576',
3772
- shapeFill: '#A6A6A6'
3795
+ shapeFill: '#A6A6A6',
3796
+ rectangleZoomFillColor: '#d3d3d3',
3797
+ rectangleZoomFillOpacity: 0.5,
3798
+ rectangleZoomBorderColor: "#009900"
3773
3799
  };
3774
3800
  break;
3775
3801
  case 'tailwind':
@@ -3785,6 +3811,8 @@ function getThemeStyle(theme) {
3785
3811
  tooltipFillColor: '#111827',
3786
3812
  zoomFillColor: '#6b7280',
3787
3813
  fontFamily: 'Inter',
3814
+ fontSize: '12px',
3815
+ fontWeight: 'Medium',
3788
3816
  titleFontSize: '14px',
3789
3817
  legendFontSize: '12px',
3790
3818
  tooltipFillOpacity: 1,
@@ -3792,7 +3820,10 @@ function getThemeStyle(theme) {
3792
3820
  labelFontFamily: 'Inter',
3793
3821
  titleFontWeight: '500',
3794
3822
  zoomSelectionColor: '#374151',
3795
- shapeFill: '#E5E7EB'
3823
+ shapeFill: '#E5E7EB',
3824
+ rectangleZoomFillColor: '#d3d3d3',
3825
+ rectangleZoomFillOpacity: 0.5,
3826
+ rectangleZoomBorderColor: "#009900"
3796
3827
  };
3797
3828
  break;
3798
3829
  case 'tailwinddark':
@@ -3808,6 +3839,8 @@ function getThemeStyle(theme) {
3808
3839
  tooltipFillColor: '#F9FAFB',
3809
3840
  zoomFillColor: '#D1D5DB',
3810
3841
  fontFamily: 'Inter',
3842
+ fontSize: '12px',
3843
+ fontWeight: 'Medium',
3811
3844
  titleFontSize: '14px',
3812
3845
  legendFontSize: '12px',
3813
3846
  tooltipFillOpacity: 1,
@@ -3815,7 +3848,10 @@ function getThemeStyle(theme) {
3815
3848
  labelFontFamily: 'Inter',
3816
3849
  titleFontWeight: '500',
3817
3850
  zoomSelectionColor: '#F3F4F6',
3818
- shapeFill: '#374151'
3851
+ shapeFill: '#374151',
3852
+ rectangleZoomFillColor: '#d3d3d3',
3853
+ rectangleZoomFillOpacity: 0.5,
3854
+ rectangleZoomBorderColor: "#009900"
3819
3855
  };
3820
3856
  break;
3821
3857
  case 'bootstrap5':
@@ -3831,6 +3867,8 @@ function getThemeStyle(theme) {
3831
3867
  tooltipFillColor: '#212529',
3832
3868
  zoomFillColor: '#6C757D',
3833
3869
  fontFamily: 'Helvetica Neue',
3870
+ fontSize: '12px',
3871
+ fontWeight: 'Medium',
3834
3872
  titleFontSize: '14px',
3835
3873
  legendFontSize: '12px',
3836
3874
  tooltipFillOpacity: 1,
@@ -3838,7 +3876,10 @@ function getThemeStyle(theme) {
3838
3876
  labelFontFamily: 'Helvetica Neue',
3839
3877
  titleFontWeight: 'normal',
3840
3878
  zoomSelectionColor: '#343A40',
3841
- shapeFill: '#E9ECEF'
3879
+ shapeFill: '#E9ECEF',
3880
+ rectangleZoomFillColor: '#d3d3d3',
3881
+ rectangleZoomFillOpacity: 0.5,
3882
+ rectangleZoomBorderColor: "#009900"
3842
3883
  };
3843
3884
  break;
3844
3885
  case 'bootstrap5dark':
@@ -3854,6 +3895,8 @@ function getThemeStyle(theme) {
3854
3895
  tooltipFillColor: '#E9ECEF',
3855
3896
  zoomFillColor: '#B5BABE',
3856
3897
  fontFamily: 'Helvetica Neue',
3898
+ fontSize: '12px',
3899
+ fontWeight: 'Medium',
3857
3900
  titleFontSize: '14px',
3858
3901
  legendFontSize: '12px',
3859
3902
  tooltipFillOpacity: 1,
@@ -3861,7 +3904,10 @@ function getThemeStyle(theme) {
3861
3904
  labelFontFamily: 'Helvetica Neue',
3862
3905
  titleFontWeight: 'normal',
3863
3906
  zoomSelectionColor: '#DEE2E6',
3864
- shapeFill: '#495057'
3907
+ shapeFill: '#495057',
3908
+ rectangleZoomFillColor: '#d3d3d3',
3909
+ rectangleZoomFillOpacity: 0.5,
3910
+ rectangleZoomBorderColor: "#009900"
3865
3911
  };
3866
3912
  break;
3867
3913
  case 'fluent':
@@ -3877,6 +3923,8 @@ function getThemeStyle(theme) {
3877
3923
  tooltipFillColor: '#FFFFFF',
3878
3924
  zoomFillColor: '#A19F9D',
3879
3925
  fontFamily: 'Segoe UI',
3926
+ fontSize: '12px',
3927
+ fontWeight: 'Medium',
3880
3928
  titleFontSize: '14px',
3881
3929
  legendFontSize: '12px',
3882
3930
  tooltipFillOpacity: 1,
@@ -3884,7 +3932,10 @@ function getThemeStyle(theme) {
3884
3932
  labelFontFamily: 'Segoe UI',
3885
3933
  titleFontWeight: '600',
3886
3934
  zoomSelectionColor: '#323130',
3887
- shapeFill: '#F3F2F1'
3935
+ shapeFill: '#F3F2F1',
3936
+ rectangleZoomFillColor: '#d3d3d3',
3937
+ rectangleZoomFillOpacity: 0.5,
3938
+ rectangleZoomBorderColor: "#009900"
3888
3939
  };
3889
3940
  break;
3890
3941
  case 'fluentdark':
@@ -3900,6 +3951,8 @@ function getThemeStyle(theme) {
3900
3951
  tooltipFillColor: '#252423',
3901
3952
  zoomFillColor: '#484644',
3902
3953
  fontFamily: 'Segoe UI',
3954
+ fontSize: '12px',
3955
+ fontWeight: 'Medium',
3903
3956
  titleFontSize: '14px',
3904
3957
  legendFontSize: '12px',
3905
3958
  tooltipFillOpacity: 1,
@@ -3907,7 +3960,68 @@ function getThemeStyle(theme) {
3907
3960
  labelFontFamily: 'Segoe UI',
3908
3961
  titleFontWeight: '600',
3909
3962
  zoomSelectionColor: '#F3F2F1',
3910
- shapeFill: '#252423'
3963
+ shapeFill: '#252423',
3964
+ rectangleZoomFillColor: '#d3d3d3',
3965
+ rectangleZoomFillOpacity: 0.5,
3966
+ rectangleZoomBorderColor: "#009900"
3967
+ };
3968
+ break;
3969
+ case 'material3':
3970
+ style = {
3971
+ backgroundColor: 'transparent',
3972
+ areaBackgroundColor: 'transparent',
3973
+ titleFontColor: '#1C1B1F',
3974
+ subTitleFontColor: '#1C1B1F',
3975
+ legendTitleFontColor: '#1C1B1F',
3976
+ legendTextColor: '#49454E',
3977
+ dataLabelFontColor: '#1C1B1F',
3978
+ tooltipFontColor: '#F4EFF4',
3979
+ tooltipFillColor: '#313033',
3980
+ zoomFillColor: '#49454E',
3981
+ fontFamily: 'Roboto',
3982
+ fontSize: '14px',
3983
+ titleFontSize: '16px',
3984
+ subTitleFontSize: '14px',
3985
+ legendFontSize: '12px',
3986
+ tooltipFillOpacity: 1,
3987
+ tooltipTextOpacity: 1,
3988
+ labelFontFamily: 'Roboto',
3989
+ titleFontWeight: '500',
3990
+ fontWeight: '400',
3991
+ zoomSelectionColor: '#49454E',
3992
+ shapeFill: '#E7E0EC',
3993
+ rectangleZoomFillColor: '#6750A4',
3994
+ rectangleZoomFillOpacity: 0.24,
3995
+ rectangleZoomBorderColor: "#6750A4"
3996
+ };
3997
+ break;
3998
+ case 'material3dark':
3999
+ style = {
4000
+ backgroundColor: 'transparent',
4001
+ areaBackgroundColor: 'transparent',
4002
+ titleFontColor: '#E6E1E5',
4003
+ subTitleFontColor: '#E6E1E5',
4004
+ legendTitleFontColor: '#E6E1E5',
4005
+ legendTextColor: '#CAC4D0',
4006
+ dataLabelFontColor: '#E6E1E5',
4007
+ tooltipFontColor: '#313033',
4008
+ tooltipFillColor: '#E6E1E5',
4009
+ zoomFillColor: '#E6E1E5',
4010
+ fontFamily: 'Roboto',
4011
+ fontSize: '14px',
4012
+ titleFontSize: '16px',
4013
+ subTitleFontSize: '14px',
4014
+ legendFontSize: '12px',
4015
+ tooltipFillOpacity: 1,
4016
+ tooltipTextOpacity: 1,
4017
+ labelFontFamily: 'Roboto',
4018
+ titleFontWeight: '500',
4019
+ fontWeight: '400',
4020
+ zoomSelectionColor: '#E6E1E5',
4021
+ shapeFill: '#49454F',
4022
+ rectangleZoomFillColor: '#D0BCFF',
4023
+ rectangleZoomFillOpacity: 0.24,
4024
+ rectangleZoomBorderColor: "#D0BCFF"
3911
4025
  };
3912
4026
  break;
3913
4027
  default:
@@ -3925,9 +4039,14 @@ function getThemeStyle(theme) {
3925
4039
  zoomFillColor: '#737373',
3926
4040
  labelFontFamily: 'Roboto, Noto, Sans-serif',
3927
4041
  fontFamily: 'Roboto, Noto, Sans-serif',
4042
+ fontSize: '12px',
4043
+ fontWeight: 'Medium',
3928
4044
  titleFontWeight: 'Medium',
3929
4045
  zoomSelectionColor: '#e61576',
3930
- shapeFill: '#A6A6A6'
4046
+ shapeFill: '#A6A6A6',
4047
+ rectangleZoomFillColor: '#d3d3d3',
4048
+ rectangleZoomFillOpacity: 0.5,
4049
+ rectangleZoomBorderColor: "#009900"
3931
4050
  };
3932
4051
  break;
3933
4052
  }
@@ -4217,7 +4336,7 @@ var TooltipSettings = /** @__PURE__ @class */ (function (_super) {
4217
4336
  Complex({ color: 'transparent', width: 1 }, Border)
4218
4337
  ], TooltipSettings.prototype, "border", void 0);
4219
4338
  __decorate$1([
4220
- Complex(Theme.tooltipLabelFont, Font)
4339
+ Complex({ fontFamily: null, size: null, fontWeight: null }, Font)
4221
4340
  ], TooltipSettings.prototype, "textStyle", void 0);
4222
4341
  __decorate$1([
4223
4342
  Property(null)
@@ -4731,7 +4850,7 @@ var LegendSettings = /** @__PURE__ @class */ (function (_super) {
4731
4850
  Property('')
4732
4851
  ], LegendSettings.prototype, "height", void 0);
4733
4852
  __decorate$1([
4734
- Complex({ fontFamily: null }, Font)
4853
+ Complex({ fontFamily: null, fontWeight: null }, Font)
4735
4854
  ], LegendSettings.prototype, "textStyle", void 0);
4736
4855
  __decorate$1([
4737
4856
  Property(15)
@@ -4752,7 +4871,7 @@ var LegendSettings = /** @__PURE__ @class */ (function (_super) {
4752
4871
  Complex({}, CommonTitleSettings)
4753
4872
  ], LegendSettings.prototype, "title", void 0);
4754
4873
  __decorate$1([
4755
- Complex({ size: Theme.legendTitleFont.size, color: Theme.legendTitleFont.color, fontStyle: Theme.legendTitleFont.fontStyle, fontWeight: Theme.legendTitleFont.fontWeight, fontFamily: null }, Font)
4874
+ Complex({ size: null, color: Theme.legendTitleFont.color, fontStyle: Theme.legendTitleFont.fontStyle, fontWeight: null, fontFamily: null }, Font)
4756
4875
  ], LegendSettings.prototype, "titleStyle", void 0);
4757
4876
  __decorate$1([
4758
4877
  Property('Bottom')
@@ -4816,7 +4935,7 @@ var DataLabelSettings = /** @__PURE__ @class */ (function (_super) {
4816
4935
  Property(5)
4817
4936
  ], DataLabelSettings.prototype, "ry", void 0);
4818
4937
  __decorate$1([
4819
- Complex({}, Font)
4938
+ Complex({ fontWeight: null }, Font)
4820
4939
  ], DataLabelSettings.prototype, "textStyle", void 0);
4821
4940
  __decorate$1([
4822
4941
  Property('')
@@ -6080,7 +6199,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6080
6199
  this.horizontalPan = false;
6081
6200
  this.horizontalPanXCount = 0;
6082
6201
  this.mapObject = map;
6083
- this.ajaxModule = new Ajax();
6202
+ this.ajaxModule = new Fetch();
6084
6203
  this.ajaxResponse = [];
6085
6204
  }
6086
6205
  LayerPanel.prototype.measureLayerPanel = function () {
@@ -6319,14 +6438,13 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6319
6438
  var bing_1 = new BingMap(_this.mapObject);
6320
6439
  var bingType = layer.bingMapType === 'AerialWithLabel' ? 'AerialWithLabelsOnDemand' : layer.bingMapType;
6321
6440
  var url = 'https://dev.virtualearth.net/REST/V1/Imagery/Metadata/' + bingType;
6322
- var ajax = new Ajax({
6441
+ var ajax = new Fetch({
6323
6442
  url: url + '?output=json&include=ImageryProviders&urischeme=https&key=' + layer.key
6324
6443
  });
6444
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6325
6445
  ajax.onSuccess = function (json) {
6326
6446
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6327
- var jsonObject = JSON.parse(json);
6328
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6329
- var resource = jsonObject['resourceSets'][0]['resources'][0];
6447
+ var resource = json['resourceSets'][0]['resources'][0];
6330
6448
  var imageUrl = resource['imageUrl'];
6331
6449
  var subDomains = resource['imageUrlSubdomains'];
6332
6450
  var maxZoom = resource['zoomMax'];
@@ -7362,8 +7480,8 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
7362
7480
  imgElement.setAttribute('height', '256px');
7363
7481
  imgElement.setAttribute('width', '256px');
7364
7482
  imgElement.setAttribute('src', tile.src);
7365
- imgElement.setAttribute('alt', _this.mapObject.getLocalizedLabel('ImageNotFound'));
7366
7483
  imgElement.style.setProperty('user-select', 'none');
7484
+ imgElement.setAttribute('alt', _this.mapObject.getLocalizedLabel('ImageNotFound'));
7367
7485
  var child = createElement('div', { id: mapId + '_tile_' + id });
7368
7486
  child.style.position = 'absolute';
7369
7487
  child.style.left = tile.left + 'px';
@@ -8007,11 +8125,11 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8007
8125
  Maps.prototype.processAjaxRequest = function (layer, localAjax, type) {
8008
8126
  var _this = this;
8009
8127
  this.serverProcess['request']++;
8010
- var ajaxModule = new Ajax(localAjax.dataOptions, localAjax.type, localAjax.async, localAjax.contentType);
8011
- ajaxModule.onSuccess = function (args) {
8012
- _this.processResponseJsonData('Ajax', args, layer, type);
8128
+ var fetchApiModule = new Fetch(localAjax.dataOptions, localAjax.type, localAjax.contentType);
8129
+ fetchApiModule.onSuccess = function (args) {
8130
+ _this.processResponseJsonData('Fetch', args, layer, type);
8013
8131
  };
8014
- ajaxModule.send(localAjax.sendData);
8132
+ fetchApiModule.send(localAjax.sendData);
8015
8133
  };
8016
8134
  /**
8017
8135
  * This method is used to process the JSON data to render the maps.
@@ -8027,10 +8145,10 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8027
8145
  this.serverProcess['response']++;
8028
8146
  if (processType) {
8029
8147
  if (dataType === 'ShapeData') {
8030
- layer.shapeData = (processType === 'DataManager') ? processResult(data) : JSON.parse(data);
8148
+ layer.shapeData = (processType === 'DataManager') ? processResult(data) : data;
8031
8149
  }
8032
8150
  else {
8033
- layer.dataSource = (processType === 'DataManager') ? processResult(data) : JSON.parse('[' + data + ']')[0];
8151
+ layer.dataSource = (processType === 'DataManager') ? processResult(data) : data;
8034
8152
  }
8035
8153
  }
8036
8154
  if (!isNullOrUndefined(processType) && this.serverProcess['request'] === this.serverProcess['response']) {
@@ -8261,9 +8379,12 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8261
8379
  Maps.prototype.setSecondaryElementPosition = function () {
8262
8380
  var element = getElementByID(this.element.id + '_Secondary_Element');
8263
8381
  var rect = this.element.getBoundingClientRect();
8264
- var svgRect = getElementByID(this.element.id + '_svg').getBoundingClientRect();
8265
- element.style.marginLeft = Math.max(svgRect.left - rect.left, 0) + 'px';
8266
- element.style.marginTop = Math.max(svgRect.top - rect.top, 0) + 'px';
8382
+ var svgElement = getElementByID(this.element.id + '_svg');
8383
+ if (!isNullOrUndefined(svgElement)) {
8384
+ var svgRect = svgElement.getBoundingClientRect();
8385
+ element.style.left = Math.max(svgRect.left - rect.left, 0) + 'px';
8386
+ element.style.top = Math.max(svgRect.top - rect.top, 0) + 'px';
8387
+ }
8267
8388
  };
8268
8389
  Maps.prototype.zoomingChange = function () {
8269
8390
  var left;
@@ -8486,8 +8607,8 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8486
8607
  var height;
8487
8608
  var width = Math.abs((this.margin.left + this.margin.right) - this.availableSize.width);
8488
8609
  style.fontFamily = !isNullOrUndefined(style.fontFamily) ? style.fontFamily : this.themeStyle.fontFamily;
8489
- style.fontWeight = style.fontWeight || this.themeStyle.titleFontWeight;
8490
- style.size = type === 'title' ? (style.size || this.themeStyle.titleFontSize) : (style.size || Theme.mapsSubTitleFont.size);
8610
+ style.fontWeight = type === 'title' ? style.fontWeight || this.themeStyle.titleFontWeight : style.fontWeight || this.themeStyle.titleFontWeight;
8611
+ style.size = type === 'title' ? (style.size || this.themeStyle.titleFontSize) : (style.size || this.themeStyle.subTitleFontSize || Theme.mapsSubTitleFont.size);
8491
8612
  if (title.text) {
8492
8613
  if (isNullOrUndefined(groupEle)) {
8493
8614
  groupEle = this.renderer.createGroup({ id: this.element.id + '_Title_Group' });
@@ -9214,7 +9335,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
9214
9335
  */
9215
9336
  Maps.prototype.mapsOnResize = function (e) {
9216
9337
  var _this = this;
9217
- if (!this.isDestroyed) {
9338
+ if (!this.isDestroyed && !this.isExportInitialTileMap) {
9218
9339
  this.isResize = this.isReset = true;
9219
9340
  var args = {
9220
9341
  cancel: false,
@@ -9956,17 +10077,15 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
9956
10077
  var promise;
9957
10078
  if (!this.isDestroyed) {
9958
10079
  promise = new Promise(function (resolve, reject) {
9959
- var ajax = new Ajax({
10080
+ var fetchApi = new Fetch({
9960
10081
  url: url
9961
10082
  });
9962
- ajax.onSuccess = function (json) {
9963
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9964
- var jsonObject = JSON.parse(json);
10083
+ fetchApi.onSuccess = function (json) {
9965
10084
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9966
- var resource = jsonObject['resourceSets'][0]['resources'][0];
10085
+ var resource = json['resourceSets'][0]['resources'][0];
9967
10086
  resolve(resource['imageUrl']);
9968
10087
  };
9969
- ajax.send();
10088
+ fetchApi.send();
9970
10089
  });
9971
10090
  }
9972
10091
  return promise;
@@ -10645,6 +10764,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
10645
10764
  var locationX;
10646
10765
  var locationY;
10647
10766
  style.fontFamily = this.maps.theme.toLowerCase() !== 'material' ? this.maps.themeStyle.labelFontFamily : style.fontFamily;
10767
+ style.fontWeight = style.fontWeight || this.maps.themeStyle.fontWeight || Theme.dataLabelFont.fontWeight;
10648
10768
  shape = shapes['property'];
10649
10769
  var properties = (Object.prototype.toString.call(layer.shapePropertyPath) === '[object Array]' ?
10650
10770
  layer.shapePropertyPath : [layer.shapePropertyPath]);
@@ -11635,6 +11755,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11635
11755
  legendTextStyle.fontFamily = !isNullOrUndefined(legendTextStyle.fontFamily) ? legendTextStyle.fontFamily :
11636
11756
  this.maps.themeStyle.fontFamily;
11637
11757
  legendTextStyle.size = map.themeStyle.legendFontSize || legendTextStyle.size;
11758
+ legendTextStyle.fontWeight = legendTextStyle.fontWeight || map.themeStyle.fontWeight;
11638
11759
  if (i === 0) {
11639
11760
  this.renderLegendBorder();
11640
11761
  }
@@ -12403,6 +12524,8 @@ var Legend = /** @__PURE__ @class */ (function () {
12403
12524
  if (legendTitle) {
12404
12525
  textStyle.color = (textStyle.color !== null) ? textStyle.color : this.maps.themeStyle.legendTitleFontColor;
12405
12526
  textStyle.fontFamily = !isNullOrUndefined(textStyle.fontFamily) ? textStyle.fontFamily : this.maps.themeStyle.fontFamily;
12527
+ textStyle.size = !isNullOrUndefined(textStyle.size) ? textStyle.size : this.maps.themeStyle.subTitleFontSize || Theme.legendTitleFont.size;
12528
+ textStyle.fontWeight = !isNullOrUndefined(textStyle.fontWeight) ? textStyle.fontWeight : this.maps.themeStyle.titleFontWeight || Theme.legendTitleFont.fontWeight;
12406
12529
  textOptions = new TextOption(map.element.id + '_LegendTitle', (this.legendItemRect.x) + (this.legendItemRect.width / 2), this.legendItemRect.y - (textSize.height / 2) - spacing / 2, 'middle', trimTitle, '');
12407
12530
  renderTextElement(textOptions, textStyle, textStyle.color, this.legendGroup);
12408
12531
  }
@@ -14030,7 +14153,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
14030
14153
  currentData = this.formatter(marker$$1.tooltipSettings.format, marker$$1.dataSource[dataIndex]);
14031
14154
  }
14032
14155
  else {
14033
- if (marker$$1.template && !marker$$1.tooltipSettings.valuePath) {
14156
+ if (typeof marker$$1.template !== 'function' && marker$$1.template && !marker$$1.tooltipSettings.valuePath) {
14034
14157
  currentData = marker$$1.template.split('>')[1].split('<')[0];
14035
14158
  }
14036
14159
  else {
@@ -14073,7 +14196,7 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
14073
14196
  tooltipEle.style.cssText = 'position: absolute;pointer-events:none;';
14074
14197
  document.getElementById(this.maps.element.id + '_Secondary_Element').appendChild(tooltipEle);
14075
14198
  }
14076
- if (option.template !== null && Object.keys(typeof option.template === 'object' ? option.template : {}).length === 1) {
14199
+ if (typeof option.template !== 'function' && option.template !== null && Object.keys(typeof option.template === 'object' ? option.template : {}).length === 1) {
14077
14200
  option.template = option.template[Object.keys(option.template)[0]];
14078
14201
  }
14079
14202
  templateData = this.setTooltipContent(option, templateData);
@@ -14098,10 +14221,14 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
14098
14221
  if (!tooltipArgs.cancel && option.visible && !isNullOrUndefined(currentData) &&
14099
14222
  (targetId.indexOf('_cluster_') === -1 && targetId.indexOf('_dataLabel_') === -1)) {
14100
14223
  _this.maps['isProtectedOnChange'] = true;
14224
+ tooltipArgs.options['textStyle']['size'] = tooltipArgs.options['textStyle']['size']
14225
+ || _this.maps.themeStyle.fontSize;
14101
14226
  tooltipArgs.options['textStyle']['color'] = tooltipArgs.options['textStyle']['color']
14102
14227
  || _this.maps.themeStyle.tooltipFontColor;
14103
14228
  tooltipArgs.options['textStyle']['fontFamily'] = tooltipArgs.options['textStyle']['fontFamily']
14104
14229
  || _this.maps.themeStyle.fontFamily;
14230
+ tooltipArgs.options['textStyle']['fontWeight'] = tooltipArgs.options['textStyle']['fontWeight']
14231
+ || _this.maps.themeStyle.fontWeight;
14105
14232
  tooltipArgs.options['textStyle']['opacity'] = tooltipArgs.options['textStyle']['opacity']
14106
14233
  || _this.maps.themeStyle.tooltipTextOpacity;
14107
14234
  if (tooltipArgs.cancel) {
@@ -14693,7 +14820,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
14693
14820
  var down = this.mouseDownPoints;
14694
14821
  var move = this.mouseMovePoints;
14695
14822
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14696
- var border = { width: 1, color: '#009900' };
14823
+ var border = { width: 1, color: this.maps.themeStyle.rectangleZoomBorderColor };
14697
14824
  var width = Math.abs(move.x - down.x);
14698
14825
  var height = Math.abs(move.y - down.y);
14699
14826
  var x = ((move.x > down.x) ? down.x : down.x - width);
@@ -14708,7 +14835,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
14708
14835
  height: map.availableSize.height,
14709
14836
  style: 'position: absolute;'
14710
14837
  });
14711
- var rectOption = new RectOption(map.element.id + '_ZoomRect', '#d3d3d3', border, 0.5, this.zoomingRect, 0, 0, '', '3');
14838
+ var rectOption = new RectOption(map.element.id + '_ZoomRect', this.maps.themeStyle.rectangleZoomFillColor, border, this.maps.themeStyle.rectangleZoomFillOpacity, this.zoomingRect, 0, 0, '', '3');
14712
14839
  rectSVGObject.appendChild(map.renderer.drawRectangle(rectOption));
14713
14840
  getElementByID(map.element.id + '_Secondary_Element').appendChild(rectSVGObject);
14714
14841
  }
@@ -15096,6 +15223,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
15096
15223
  zoomtextSize = measureText(zoomtext, style);
15097
15224
  var start = labelY - zoomtextSize['height'] / 4;
15098
15225
  var end = labelY + zoomtextSize['height'] / 4;
15226
+ labelY = end;
15099
15227
  var xpositionEnds = labelX + zoomtextSize['width'] / 2;
15100
15228
  var xpositionStart = labelX - zoomtextSize['width'] / 2;
15101
15229
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -15745,7 +15873,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
15745
15873
  map.markerCenterLatitude = null;
15746
15874
  map.markerCenterLongitude = null;
15747
15875
  this.isZoomSelection = false;
15748
- this.isPan = this.isPanning = map.zoomSettings.enablePanning;
15876
+ this.isPan = map.zoomSettings.enablePanning;
15749
15877
  this.toolBarZooming(map.zoomSettings.minZoom, 'Reset');
15750
15878
  if ((this.isPan && !this.isZoomSelection) || (!this.isPan && this.isZoomSelection)) {
15751
15879
  if (!this.maps.zoomSettings.enablePanning) {
@@ -16406,6 +16534,19 @@ var Print = /** @__PURE__ @class */ (function () {
16406
16534
  Print.prototype.getHTMLContent = function (maps, elements) {
16407
16535
  var div = createElement('div');
16408
16536
  var divElement = maps.element.cloneNode(true);
16537
+ var backgroundElement = (!maps.isTileMap ? divElement.getElementsByTagName('svg')[0] : divElement.getElementsByTagName('svg')[1]);
16538
+ if (!isNullOrUndefined(backgroundElement)) {
16539
+ backgroundElement = backgroundElement.childNodes[0];
16540
+ if (!isNullOrUndefined(backgroundElement)) {
16541
+ var backgroundColor = backgroundElement.getAttribute('fill');
16542
+ if ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16543
+ backgroundElement.setAttribute('fill', 'rgba(255,255,255, 1)');
16544
+ }
16545
+ else if ((maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16546
+ backgroundElement.setAttribute('fill', 'rgba(0, 0, 0, 1)');
16547
+ }
16548
+ }
16549
+ }
16409
16550
  if (maps.isTileMap) {
16410
16551
  for (var i = 0; i < divElement.childElementCount; i++) {
16411
16552
  if (divElement.children[i].id === maps.element.id + '_tile_parent') {
@@ -16502,9 +16643,17 @@ var ImageExport = /** @__PURE__ @class */ (function () {
16502
16643
  var svgDataElement;
16503
16644
  var tileSvg;
16504
16645
  var svgObject = getElementByID(maps.element.id + '_svg').cloneNode(true);
16646
+ var backgroundElement = svgObject.childNodes[0];
16647
+ var backgroundColor = backgroundElement.getAttribute('fill');
16648
+ if ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16649
+ svgObject.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
16650
+ }
16651
+ else if ((maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16652
+ svgObject.childNodes[0].setAttribute('fill', 'rgba(0, 0, 0, 1)');
16653
+ }
16505
16654
  if (!maps.isTileMap) {
16506
16655
  svgDataElement = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">' +
16507
- maps.svgObject.outerHTML + '</svg>';
16656
+ svgObject.outerHTML + '</svg>';
16508
16657
  }
16509
16658
  else {
16510
16659
  tileSvg = getElementByID(maps.element.id + '_Tile_SVG').cloneNode(true);
@@ -16543,6 +16692,7 @@ var ImageExport = /** @__PURE__ @class */ (function () {
16543
16692
  image_1.src = url;
16544
16693
  }
16545
16694
  else {
16695
+ maps.isExportInitialTileMap = true;
16546
16696
  var svgParentElement = document.getElementById(maps.element.id + '_MapAreaBorder');
16547
16697
  var top_1 = parseFloat(svgParentElement.getAttribute('y'));
16548
16698
  var left_1 = parseFloat(svgParentElement.getAttribute('x'));
@@ -16552,7 +16702,9 @@ var ImageExport = /** @__PURE__ @class */ (function () {
16552
16702
  var tile = document.getElementById(maps.element.id + '_tile_' + (i - 1));
16553
16703
  var exportTileImg = new Image();
16554
16704
  exportTileImg.crossOrigin = 'Anonymous';
16555
- ctxt_1.fillStyle = maps.background ? maps.background : '#FFFFFF';
16705
+ var background = maps.background ? maps.background : ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) ? '#ffffff' :
16706
+ (maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent') ? '#000000' : '#ffffff';
16707
+ ctxt_1.fillStyle = background;
16556
16708
  ctxt_1.fillRect(0, 0, maps.availableSize.width, maps.availableSize.height);
16557
16709
  ctxt_1.font = maps.titleSettings.textStyle.size + ' Arial';
16558
16710
  var titleElement = document.getElementById(maps.element.id + '_Map_title');
@@ -16582,8 +16734,10 @@ var ImageExport = /** @__PURE__ @class */ (function () {
16582
16734
  if (allowDownload) {
16583
16735
  triggerDownload(fileName, type, localBase64, isDownload);
16584
16736
  localStorage.removeItem('local-canvasImage');
16737
+ maps.isExportInitialTileMap = false;
16585
16738
  }
16586
16739
  else {
16740
+ maps.isExportInitialTileMap = false;
16587
16741
  if (type === 'PNG') {
16588
16742
  resolve(localBase64);
16589
16743
  }
@@ -16663,6 +16817,9 @@ var PdfExport = /** @__PURE__ @class */ (function () {
16663
16817
  PdfExport.prototype.export = function (maps, type, fileName, allowDownload, orientation) {
16664
16818
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16665
16819
  var promise = new Promise(function (resolve, reject) {
16820
+ if (maps.isTileMap) {
16821
+ maps.isExportInitialTileMap = true;
16822
+ }
16666
16823
  var canvasElement = createElement('canvas', {
16667
16824
  id: 'ej2-canvas',
16668
16825
  attrs: {
@@ -16676,10 +16833,12 @@ var PdfExport = /** @__PURE__ @class */ (function () {
16676
16833
  var exportElement = maps.svgObject.cloneNode(true);
16677
16834
  var backgroundElement = exportElement.childNodes[0];
16678
16835
  var backgroundColor = backgroundElement.getAttribute('fill');
16679
- if ((maps.theme === 'Tailwind' || maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5' || maps.theme === 'Bootstrap5Dark'
16680
- || maps.theme === 'Fluent' || maps.theme === 'FluentDark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16836
+ if ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16681
16837
  exportElement.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
16682
16838
  }
16839
+ else if ((maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
16840
+ exportElement.childNodes[0].setAttribute('fill', 'rgba(0, 0, 0, 1)');
16841
+ }
16683
16842
  var url = window.URL.createObjectURL(new Blob(type === 'SVG' ? [svgData] :
16684
16843
  [(new XMLSerializer()).serializeToString(exportElement)], { type: 'image/svg+xml' }));
16685
16844
  var pdfDocument = new PdfDocument();
@@ -16715,7 +16874,9 @@ var PdfExport = /** @__PURE__ @class */ (function () {
16715
16874
  var tile = document.getElementById(maps.element.id + '_tile_' + (i - 1));
16716
16875
  var tileImg = new Image();
16717
16876
  tileImg.crossOrigin = 'Anonymous';
16718
- ctx.fillStyle = maps.background ? maps.background : '#FFFFFF';
16877
+ var background = maps.background ? maps.background : ((maps.theme === 'Tailwind' || maps.theme === 'Bootstrap5' || maps.theme === 'Fluent' || maps.theme === 'Material3') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) ? '#ffffff' :
16878
+ (maps.theme === 'TailwindDark' || maps.theme === 'Bootstrap5Dark' || maps.theme === 'FluentDark' || maps.theme === 'Material3Dark') && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent') ? '#000000' : '#ffffff';
16879
+ ctx.fillStyle = background;
16719
16880
  ctx.fillRect(0, 0, maps.availableSize.width, maps.availableSize.height);
16720
16881
  ctx.font = maps.titleSettings.textStyle.size + ' Arial';
16721
16882
  var titleElement = document.getElementById(maps.element.id + '_Map_title');
@@ -16745,6 +16906,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
16745
16906
  pdfDocument.pageSettings.orientation = orientation;
16746
16907
  x = x.slice(x.indexOf(',') + 1);
16747
16908
  pdfDocument.pages.add().graphics.drawImage(new PdfBitmap(x), 0, 0, (maps.availableSize.width - 60), maps.availableSize.height);
16909
+ maps.isExportInitialTileMap = false;
16748
16910
  if (allowDownload) {
16749
16911
  pdfDocument.save(fileName + '.pdf');
16750
16912
  pdfDocument.destroy();