@syncfusion/ej2-maps 19.3.44 → 19.4.42

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.
Files changed (40) hide show
  1. package/.eslintrc.json +1 -1
  2. package/.github/PULL_REQUEST_TEMPLATE/Bug.md +72 -0
  3. package/.github/PULL_REQUEST_TEMPLATE/Feature.md +49 -0
  4. package/CHANGELOG.md +36 -5
  5. package/README.md +4 -4
  6. package/dist/ej2-maps.umd.min.js +2 -2
  7. package/dist/ej2-maps.umd.min.js.map +1 -1
  8. package/dist/es6/ej2-maps.es2015.js +655 -647
  9. package/dist/es6/ej2-maps.es2015.js.map +1 -1
  10. package/dist/es6/ej2-maps.es5.js +652 -645
  11. package/dist/es6/ej2-maps.es5.js.map +1 -1
  12. package/dist/global/ej2-maps.min.js +2 -2
  13. package/dist/global/ej2-maps.min.js.map +1 -1
  14. package/dist/global/index.d.ts +1 -1
  15. package/package.json +12 -12
  16. package/src/maps/layers/bubble.d.ts +6 -0
  17. package/src/maps/layers/bubble.js +10 -25
  18. package/src/maps/layers/data-label.js +6 -17
  19. package/src/maps/layers/layer-panel.d.ts +2 -1
  20. package/src/maps/layers/layer-panel.js +86 -72
  21. package/src/maps/layers/legend.js +48 -19
  22. package/src/maps/layers/marker.js +2 -24
  23. package/src/maps/maps-model.d.ts +1 -28
  24. package/src/maps/maps.d.ts +5 -38
  25. package/src/maps/maps.js +80 -102
  26. package/src/maps/model/base-model.d.ts +7 -5
  27. package/src/maps/model/base.d.ts +6 -5
  28. package/src/maps/model/base.js +5 -2
  29. package/src/maps/model/export-pdf.js +1 -1
  30. package/src/maps/model/interface.d.ts +1 -3
  31. package/src/maps/model/theme.js +116 -6
  32. package/src/maps/user-interaction/annotation.js +3 -7
  33. package/src/maps/user-interaction/highlight.js +4 -17
  34. package/src/maps/user-interaction/selection.js +10 -22
  35. package/src/maps/user-interaction/tooltip.js +61 -125
  36. package/src/maps/user-interaction/zoom.d.ts +1 -0
  37. package/src/maps/user-interaction/zoom.js +92 -110
  38. package/src/maps/utils/enum.d.ts +8 -2
  39. package/src/maps/utils/helper.d.ts +5 -3
  40. package/src/maps/utils/helper.js +136 -104
@@ -1,4 +1,4 @@
1
- import { Ajax, Animation, Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, L10n, NotifyPropertyChanges, Property, compile, createElement, extend, isBlazor, isNullOrUndefined, merge, print, remove, resetBlazorTemplate, setValue, updateBlazorTemplate } from '@syncfusion/ej2-base';
1
+ import { Ajax, Animation, Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, L10n, NotifyPropertyChanges, Property, 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';
@@ -59,13 +59,15 @@ function calculateSize(maps) {
59
59
  var containerHeight = maps.element.clientHeight;
60
60
  var containerElementWidth = stringToNumber(maps.element.style.width, containerWidth);
61
61
  var containerElementHeight = stringToNumber(maps.element.style.height, containerHeight);
62
+ var availableSize = new Size(0, 0);
62
63
  if (maps.width === '0px' || maps.width === '0%' || maps.height === '0%' || maps.height === '0px') {
63
- maps.availableSize = new Size(0, 0);
64
+ availableSize = new Size(0, 0);
64
65
  }
65
66
  else {
66
- maps.availableSize = new Size(stringToNumber(maps.width, containerWidth) || containerWidth || containerElementWidth || 600, stringToNumber(maps.height, containerHeight) || containerHeight || containerElementHeight || (maps.isDevice ?
67
+ availableSize = new Size(stringToNumber(maps.width, containerWidth) || containerWidth || containerElementWidth || 600, stringToNumber(maps.height, containerHeight) || containerHeight || containerElementHeight || (maps.isDevice ?
67
68
  Math.min(window.innerWidth, window.innerHeight) : 450));
68
69
  }
70
+ return availableSize;
69
71
  }
70
72
  /**
71
73
  * Method to create svg for maps.
@@ -75,7 +77,7 @@ function calculateSize(maps) {
75
77
  */
76
78
  function createSvg(maps) {
77
79
  maps.renderer = new SvgRenderer(maps.element.id);
78
- calculateSize(maps);
80
+ maps.availableSize = calculateSize(maps);
79
81
  maps.svgObject = maps.renderer.createSvg({
80
82
  id: maps.element.id + '_svg',
81
83
  width: maps.availableSize.width,
@@ -624,7 +626,7 @@ function renderTextElement(option, style, color, parent, isMinus) {
624
626
  'opacity': style.opacity,
625
627
  'dominant-baseline': option.baseLine
626
628
  };
627
- var text = typeof option.text === 'string' ? option.text : isMinus ? option.text[option.text.length - 1] : option.text[0];
629
+ var text = typeof option.text === 'string' || typeof option.text === 'number' ? option.text : isMinus ? option.text[option.text.length - 1] : option.text[0];
628
630
  var tspanElement;
629
631
  var renderer = new SvgRenderer('');
630
632
  var height;
@@ -857,17 +859,19 @@ function markerShapeChoose(eventArgs, data) {
857
859
  var shape = ((eventArgs.shapeValuePath.indexOf('.') > -1) ?
858
860
  (getValueFromObject(data, eventArgs.shapeValuePath).toString()) :
859
861
  data[eventArgs.shapeValuePath]);
860
- eventArgs.shape = shape;
862
+ eventArgs.shape = (shape.toString() !== "") ? shape : eventArgs.shape;
861
863
  if (data[eventArgs.shapeValuePath] === 'Image') {
862
- eventArgs.imageUrl = (!isNullOrUndefined(eventArgs.imageUrlValuePath) &&
863
- !isNullOrUndefined(data[eventArgs.imageUrlValuePath])) ?
864
- ((eventArgs.imageUrlValuePath.indexOf('.') > -1) ? getValueFromObject(data, eventArgs.imageUrlValuePath).toString() : data[eventArgs.imageUrlValuePath]) : eventArgs.imageUrl;
864
+ eventArgs.imageUrl = (!isNullOrUndefined(eventArgs.imageUrlValuePath)) ?
865
+ ((eventArgs.imageUrlValuePath.indexOf('.') > -1) ? getValueFromObject(data, eventArgs.imageUrlValuePath).toString() : (!isNullOrUndefined(data[eventArgs.imageUrlValuePath]) ?
866
+ data[eventArgs.imageUrlValuePath] : eventArgs.imageUrl)) : eventArgs.imageUrl;
865
867
  }
866
868
  }
867
869
  else {
868
870
  var shapes = (!isNullOrUndefined(eventArgs.shapeValuePath)) ? ((eventArgs.shapeValuePath.indexOf('.') > -1) ? getValueFromObject(data, eventArgs.shapeValuePath).toString() : eventArgs.shape) : eventArgs.shape;
869
- eventArgs.shape = shapes;
870
- var shapeImage = (!isNullOrUndefined(eventArgs.imageUrlValuePath)) ? ((eventArgs.imageUrlValuePath.indexOf('.') > -1) ? (getValueFromObject(data, eventArgs.imageUrlValuePath)).toString() : eventArgs.imageUrl) : eventArgs.imageUrl;
871
+ eventArgs.shape = (shapes.toString() !== "") ? shapes : eventArgs.shape;
872
+ var shapeImage = (!isNullOrUndefined(eventArgs.imageUrlValuePath)) ?
873
+ ((eventArgs.imageUrlValuePath.indexOf('.') > -1) ? getValueFromObject(data, eventArgs.imageUrlValuePath).toString() : (!isNullOrUndefined(data[eventArgs.imageUrlValuePath]) ?
874
+ data[eventArgs.imageUrlValuePath] : eventArgs.imageUrl)) : eventArgs.imageUrl;
871
875
  eventArgs.imageUrl = shapeImage;
872
876
  }
873
877
  return eventArgs;
@@ -1245,6 +1249,7 @@ function marker(eventArgs, markerSettings, markerData, dataIndex, location, tran
1245
1249
  * @param {number} markerIndex - Specifies the marker index
1246
1250
  * @param {HTMLElement} markerTemplate - Specifies the marker template element
1247
1251
  * @param {Point} location - Specifies the location
1252
+ * @param {Point} transPoint - Specifies the translate point.
1248
1253
  * @param {number} scale - Specifies the scale value
1249
1254
  * @param {Point} offset - Specifies the offset value
1250
1255
  * @param {Maps} maps - Specifies the instance of the maps
@@ -1426,7 +1431,7 @@ function calculateShapes(maps, shape, options, size, location, markerEle) {
1426
1431
  var tempGroup;
1427
1432
  switch (shape) {
1428
1433
  case 'Balloon':
1429
- tempGroup = drawBalloon(maps, options, size, location, markerEle);
1434
+ tempGroup = drawBalloon(maps, options, size, location, 'Marker', markerEle);
1430
1435
  break;
1431
1436
  case 'Cross':
1432
1437
  options.d = 'M ' + location.x + ' ' + (location.y - size.height / 2) + ' L ' + location.x + ' ' + (location.y + size.height
@@ -1584,9 +1589,10 @@ function drawStar(maps, options, size, location, element) {
1584
1589
  * @returns {Element} - Returns the element
1585
1590
  * @private
1586
1591
  */
1587
- function drawBalloon(maps, options, size, location, element) {
1592
+ function drawBalloon(maps, options, size, location, type, element) {
1588
1593
  var width = size.width;
1589
1594
  var height = size.height;
1595
+ var pathElement;
1590
1596
  location.x -= width / 2;
1591
1597
  location.y -= height;
1592
1598
  options.d = 'M15,0C8.8,0,3.8,5,3.8,11.2C3.8,17.5,9.4,24.4,15,30c5.6-5.6,11.2-12.5,11.2-18.8C26.2,5,21.2,0,15,0z M15,16' +
@@ -1595,9 +1601,15 @@ function drawBalloon(maps, options, size, location, element) {
1595
1601
  var x = size.width / 30;
1596
1602
  var y = size.height / 30;
1597
1603
  balloon.setAttribute('transform', 'translate(' + location.x + ', ' + location.y + ') scale(' + x + ', ' + y + ')');
1598
- var g = maps.renderer.createGroup({ id: options.id });
1599
- appendShape(balloon, g);
1600
- return appendShape(g, element);
1604
+ if (type === 'Marker') {
1605
+ var g = maps.renderer.createGroup({ id: options.id });
1606
+ appendShape(balloon, g);
1607
+ pathElement = appendShape(g, element);
1608
+ }
1609
+ else {
1610
+ pathElement = balloon;
1611
+ }
1612
+ return pathElement;
1601
1613
  }
1602
1614
  /**
1603
1615
  * Internal rendering of Pattern
@@ -1739,10 +1751,11 @@ function getRatioOfBubble(min, max, value, minValue, maxValue) {
1739
1751
  *
1740
1752
  * @param {MapLocation[]} points - Specifies the points
1741
1753
  * @param {string} type - Specifies the type
1754
+ * @param {string} geometryType - Specified the type of the geometry
1742
1755
  * @returns {any} - Specifies the object
1743
1756
  */
1744
1757
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1745
- function findMidPointOfPolygon(points, type) {
1758
+ function findMidPointOfPolygon(points, type, geometryType) {
1746
1759
  if (!points.length) {
1747
1760
  return null;
1748
1761
  }
@@ -1757,14 +1770,14 @@ function findMidPointOfPolygon(points, type) {
1757
1770
  var ySum = 0;
1758
1771
  for (var i = min; i <= max - 1; i++) {
1759
1772
  startX = points[i].x;
1760
- startY = type === 'Mercator' ? points[i].y : -(points[i].y);
1773
+ startY = type === 'Mercator' || geometryType === 'Normal' ? points[i].y : -(points[i].y);
1761
1774
  if (i === max - 1) {
1762
1775
  startX1 = points[0].x;
1763
- startY1 = type === 'Mercator' ? points[0].y : -(points[0].y);
1776
+ startY1 = type === 'Mercator' || geometryType === 'Normal' ? points[0].y : -(points[0].y);
1764
1777
  }
1765
1778
  else {
1766
1779
  startX1 = points[i + 1].x;
1767
- startY1 = type === 'Mercator' ? points[i + 1].y : -(points[i + 1].y);
1780
+ startY1 = type === 'Mercator' || geometryType === 'Normal' ? points[i + 1].y : -(points[i + 1].y);
1768
1781
  }
1769
1782
  sum = sum + Math.abs(((startX * startY1)) - (startX1 * startY));
1770
1783
  xSum = xSum + Math.abs(((startX + startX1) * (((startX * startY1) - (startX1 * startY)))));
@@ -1785,7 +1798,7 @@ function findMidPointOfPolygon(points, type) {
1785
1798
  var height = 0;
1786
1799
  for (var i = min; i <= max - 1; i++) {
1787
1800
  var point = points[i];
1788
- point.y = type === 'Mercator' ? point.y : -(point.y);
1801
+ point.y = type === 'Mercator' || geometryType === 'Normal' ? point.y : -(point.y);
1789
1802
  if (point.y > ySum) {
1790
1803
  if (point.x < xSum && xSum - point.x < xSum - bottomMinPoint.x) {
1791
1804
  bottomMinPoint = { x: point.x, y: point.y };
@@ -1957,9 +1970,9 @@ function getTranslate(mapObject, layer, animate) {
1957
1970
  mapObject.mapScaleValue = scaleFactor = zoomFactorValue = mapObject.scaleOfGivenLocation;
1958
1971
  }
1959
1972
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1960
- var min = mapObject.baseMapRectBounds['min'];
1973
+ var min = !isNullOrUndefined(mapObject.baseMapRectBounds) ? mapObject.baseMapRectBounds['min'] : null;
1961
1974
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1962
- var max = mapObject.baseMapRectBounds['max'];
1975
+ var max = !isNullOrUndefined(mapObject.baseMapRectBounds) ? mapObject.baseMapRectBounds['max'] : null;
1963
1976
  var zoomFactor = animate ? 1 : mapObject.mapScaleValue;
1964
1977
  if (isNullOrUndefined(mapObject.currentShapeDataLength)) {
1965
1978
  mapObject.currentShapeDataLength = !isNullOrUndefined(layer.shapeData['features'])
@@ -1969,111 +1982,113 @@ function getTranslate(mapObject, layer, animate) {
1969
1982
  var availSize = mapObject.availableSize;
1970
1983
  var x;
1971
1984
  var y;
1972
- var mapWidth = Math.abs(max['x'] - min['x']);
1973
- var mapHeight = Math.abs(min['y'] - max['y']);
1974
- var factor = animate ? 1 : mapObject.markerZoomFactor === 1 ? mapObject.mapScaleValue : zoomFactorValue;
1975
- center = mapObject.zoomSettings.shouldZoomInitially
1976
- && mapObject.markerZoomedState && !mapObject.zoomPersistence ? mapObject.markerZoomCenterPoint :
1977
- mapObject.centerPosition;
1978
- if ((!isNullOrUndefined(centerLongitude) && !isNullOrUndefined(centerLatitude)) || checkMethodeZoom) {
1979
- var leftPosition = (((mapWidth + Math.abs(mapObject.mapAreaRect.width - mapWidth)) / 2) + mapObject.mapAreaRect.x) / factor;
1980
- var topPosition = (((mapHeight + Math.abs(mapObject.mapAreaRect.height - mapHeight)) / 2) + mapObject.mapAreaRect.y) / factor;
1981
- var point = checkMethodeZoom ? calculateCenterFromPixel(mapObject, layer) :
1982
- convertGeoToPoint(centerLatitude, centerLongitude, mapObject.mapLayerPanel.calculateFactor(layer), layer, mapObject);
1983
- if (isNullOrUndefined(mapObject.previousProjection) || mapObject.previousProjection !== mapObject.projectionType) {
1984
- x = -point.x + leftPosition;
1985
- y = -point.y + topPosition;
1986
- scaleFactor = zoomFactor;
1987
- }
1988
- else {
1989
- if (Math.floor(mapObject.scale) !== 1 && mapObject.zoomSettings.shouldZoomInitially || (mapObject.zoomNotApplied)) {
1985
+ if (!isNullOrUndefined(min) && !isNullOrUndefined(max)) {
1986
+ var mapWidth = Math.abs(max['x'] - min['x']);
1987
+ var mapHeight = Math.abs(min['y'] - max['y']);
1988
+ var factor = animate ? 1 : mapObject.markerZoomFactor === 1 ? mapObject.mapScaleValue : zoomFactorValue;
1989
+ center = mapObject.zoomSettings.shouldZoomInitially
1990
+ && mapObject.markerZoomedState && !mapObject.zoomPersistence ? mapObject.markerZoomCenterPoint :
1991
+ mapObject.centerPosition;
1992
+ if ((!isNullOrUndefined(centerLongitude) && !isNullOrUndefined(centerLatitude)) || checkMethodeZoom) {
1993
+ var leftPosition = (((mapWidth + Math.abs(mapObject.mapAreaRect.width - mapWidth)) / 2) + mapObject.mapAreaRect.x) / factor;
1994
+ var topPosition = (((mapHeight + Math.abs(mapObject.mapAreaRect.height - mapHeight)) / 2) + mapObject.mapAreaRect.y) / factor;
1995
+ var point = checkMethodeZoom ? calculateCenterFromPixel(mapObject, layer) :
1996
+ convertGeoToPoint(centerLatitude, centerLongitude, mapObject.mapLayerPanel.calculateFactor(layer), layer, mapObject);
1997
+ if (isNullOrUndefined(mapObject.previousProjection) || mapObject.previousProjection !== mapObject.projectionType) {
1990
1998
  x = -point.x + leftPosition;
1991
1999
  y = -point.y + topPosition;
2000
+ scaleFactor = zoomFactor;
1992
2001
  }
1993
2002
  else {
1994
- if (mapObject.zoomSettings.shouldZoomInitially || mapObject.zoomNotApplied) {
2003
+ if (Math.floor(mapObject.scale) !== 1 && mapObject.zoomSettings.shouldZoomInitially || (mapObject.zoomNotApplied)) {
1995
2004
  x = -point.x + leftPosition;
1996
2005
  y = -point.y + topPosition;
1997
- scaleFactor = zoomFactor;
1998
2006
  }
1999
2007
  else {
2000
- x = mapObject.zoomTranslatePoint.x;
2001
- y = mapObject.zoomTranslatePoint.y;
2008
+ if (mapObject.zoomSettings.shouldZoomInitially || mapObject.zoomNotApplied) {
2009
+ x = -point.x + leftPosition;
2010
+ y = -point.y + topPosition;
2011
+ scaleFactor = zoomFactor;
2012
+ }
2013
+ else {
2014
+ x = mapObject.zoomTranslatePoint.x;
2015
+ y = mapObject.zoomTranslatePoint.y;
2016
+ }
2002
2017
  }
2018
+ scaleFactor = mapObject.mapScaleValue;
2003
2019
  }
2004
- scaleFactor = mapObject.mapScaleValue;
2005
- }
2006
- }
2007
- else {
2008
- if (isNullOrUndefined(mapObject.previousProjection) || mapObject.previousProjection !== mapObject.projectionType) {
2009
- scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2010
- mapWidth *= scaleFactor;
2011
- mapHeight *= scaleFactor;
2012
- var widthDiff = min['x'] !== 0 && mapObject.translateType === 'layers' ? availSize.width - size.width : 0;
2013
- x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2))) - widthDiff;
2014
- y = size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2)));
2015
- mapObject.previousTranslate = new Point(x, y);
2016
2020
  }
2017
2021
  else {
2018
- if (!mapObject.zoomSettings.shouldZoomInitially && mapObject.markerZoomFactor === 1 && mapObject.mapScaleValue === 1) {
2022
+ if (isNullOrUndefined(mapObject.previousProjection) || mapObject.previousProjection !== mapObject.projectionType) {
2019
2023
  scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2020
- mapHeight *= scaleFactor;
2021
2024
  mapWidth *= scaleFactor;
2025
+ mapHeight *= scaleFactor;
2026
+ var widthDiff = min['x'] !== 0 && mapObject.translateType === 'layers' ? availSize.width - size.width : 0;
2027
+ x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2))) - widthDiff;
2022
2028
  y = size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2)));
2023
- x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2)));
2029
+ mapObject.previousTranslate = new Point(x, y);
2024
2030
  }
2025
2031
  else {
2026
- scaleFactor = mapObject.mapScaleValue < 1 ? mapObject.mapScaleValue + 1 : mapObject.mapScaleValue;
2027
- mapObject.mapScaleValue = mapObject.zoomSettings.enable && mapObject.mapScaleValue !== 1 ? mapObject.mapScaleValue : 1;
2028
- if ((mapObject.currentShapeDataLength !== (!isNullOrUndefined(layer.shapeData['features'])
2029
- ? layer.shapeData['features'].length : layer.shapeData['geometries'].length)) && layer.type !== 'SubLayer') {
2030
- var scale = parseFloat(Math.min(size.height / mapHeight, size.width / mapWidth).toFixed(2));
2031
- mapHeight *= scale;
2032
- mapWidth *= scale;
2033
- y = size.y + ((-(min['y'])) + ((size.height / 2)
2034
- - (mapHeight / 2)));
2035
- scaleFactor = scale;
2036
- x = size.x + ((-(min['x']))
2037
- + ((size.width / 2) - (mapWidth / 2)));
2038
- }
2039
- else if (mapObject.availableSize.height !== mapObject.heightBeforeRefresh || mapObject.widthBeforeRefresh !== mapObject.availableSize.width) {
2040
- var cscaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2041
- var cmapWidth = mapWidth;
2042
- cmapWidth *= cscaleFactor;
2043
- var cmapHeight = mapHeight;
2044
- cmapHeight *= cscaleFactor;
2045
- var x1 = size.x + ((-(min['x'])) + ((size.width / 2) - (cmapWidth / 2)));
2046
- var y1 = size.y + ((-(min['y'])) + ((size.height / 2) - (cmapHeight / 2)));
2047
- var xdiff = (mapObject.translatePoint.x - mapObject.previousTranslate.x) / (mapObject.widthBeforeRefresh);
2048
- var ydiff = (mapObject.translatePoint.y - mapObject.previousTranslate.y) / (mapObject.heightBeforeRefresh);
2049
- var actxdiff = xdiff * (mapObject.availableSize.width);
2050
- var actydiff = ydiff * (mapObject.availableSize.height);
2051
- x = x1 + actxdiff;
2052
- y = y1 + actydiff;
2053
- mapObject.previousTranslate = new Point(x1, y1);
2054
- mapObject.zoomTranslatePoint.x = x;
2055
- mapObject.zoomTranslatePoint.y = y;
2032
+ if (!mapObject.zoomSettings.shouldZoomInitially && mapObject.markerZoomFactor === 1 && mapObject.mapScaleValue === 1) {
2033
+ scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2034
+ mapHeight *= scaleFactor;
2035
+ mapWidth *= scaleFactor;
2036
+ y = size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2)));
2037
+ x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2)));
2056
2038
  }
2057
2039
  else {
2058
- if (!isNullOrUndefined(mapObject.previousProjection) && mapObject.mapScaleValue === 1 && !mapObject.zoomModule.isDragZoom) {
2059
- scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2060
- mapWidth *= scaleFactor;
2061
- x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2)));
2062
- mapHeight *= scaleFactor;
2063
- y = size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2)));
2040
+ scaleFactor = mapObject.mapScaleValue < 1 ? mapObject.mapScaleValue + 1 : mapObject.mapScaleValue;
2041
+ mapObject.mapScaleValue = mapObject.zoomSettings.enable && mapObject.mapScaleValue !== 1 ? mapObject.mapScaleValue : 1;
2042
+ if ((mapObject.currentShapeDataLength !== (!isNullOrUndefined(layer.shapeData['features'])
2043
+ ? layer.shapeData['features'].length : layer.shapeData['geometries'].length)) && layer.type !== 'SubLayer') {
2044
+ var scale = parseFloat(Math.min(size.height / mapHeight, size.width / mapWidth).toFixed(2));
2045
+ mapHeight *= scale;
2046
+ mapWidth *= scale;
2047
+ y = size.y + ((-(min['y'])) + ((size.height / 2)
2048
+ - (mapHeight / 2)));
2049
+ scaleFactor = scale;
2050
+ x = size.x + ((-(min['x']))
2051
+ + ((size.width / 2) - (mapWidth / 2)));
2052
+ }
2053
+ else if (mapObject.availableSize.height !== mapObject.heightBeforeRefresh || mapObject.widthBeforeRefresh !== mapObject.availableSize.width) {
2054
+ var cscaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2055
+ var cmapWidth = mapWidth;
2056
+ cmapWidth *= cscaleFactor;
2057
+ var cmapHeight = mapHeight;
2058
+ cmapHeight *= cscaleFactor;
2059
+ var x1 = size.x + ((-(min['x'])) + ((size.width / 2) - (cmapWidth / 2)));
2060
+ var y1 = size.y + ((-(min['y'])) + ((size.height / 2) - (cmapHeight / 2)));
2061
+ var xdiff = (mapObject.translatePoint.x - mapObject.previousTranslate.x) / (mapObject.widthBeforeRefresh);
2062
+ var ydiff = (mapObject.translatePoint.y - mapObject.previousTranslate.y) / (mapObject.heightBeforeRefresh);
2063
+ var actxdiff = xdiff * (mapObject.availableSize.width);
2064
+ var actydiff = ydiff * (mapObject.availableSize.height);
2065
+ x = x1 + actxdiff;
2066
+ y = y1 + actydiff;
2067
+ mapObject.previousTranslate = new Point(x1, y1);
2068
+ mapObject.zoomTranslatePoint.x = x;
2069
+ mapObject.zoomTranslatePoint.y = y;
2064
2070
  }
2065
2071
  else {
2066
- x = mapObject.zoomTranslatePoint.x;
2067
- y = mapObject.zoomTranslatePoint.y;
2068
- scaleFactor = mapObject.scale;
2072
+ if (!isNullOrUndefined(mapObject.previousProjection) && mapObject.mapScaleValue === 1 && !mapObject.zoomModule.isDragZoom) {
2073
+ scaleFactor = parseFloat(Math.min(size.width / mapWidth, size.height / mapHeight).toFixed(2));
2074
+ mapWidth *= scaleFactor;
2075
+ x = size.x + ((-(min['x'])) + ((size.width / 2) - (mapWidth / 2)));
2076
+ mapHeight *= scaleFactor;
2077
+ y = size.y + ((-(min['y'])) + ((size.height / 2) - (mapHeight / 2)));
2078
+ }
2079
+ else {
2080
+ x = mapObject.zoomTranslatePoint.x;
2081
+ y = mapObject.zoomTranslatePoint.y;
2082
+ scaleFactor = mapObject.scale;
2083
+ }
2069
2084
  }
2070
2085
  }
2071
2086
  }
2072
2087
  }
2073
- }
2074
- if (!isNullOrUndefined(mapObject.translatePoint)) {
2075
- x = (mapObject.enablePersistence && mapObject.translatePoint.x !== 0 && !mapObject.zoomNotApplied) ? mapObject.translatePoint.x : x;
2076
- y = (mapObject.enablePersistence && mapObject.translatePoint.y !== 0 && !mapObject.zoomNotApplied) ? mapObject.translatePoint.y : y;
2088
+ if (!isNullOrUndefined(mapObject.translatePoint)) {
2089
+ x = (mapObject.enablePersistence && mapObject.translatePoint.x !== 0 && !mapObject.zoomNotApplied) ? mapObject.translatePoint.x : x;
2090
+ y = (mapObject.enablePersistence && mapObject.translatePoint.y !== 0 && !mapObject.zoomNotApplied) ? mapObject.translatePoint.y : y;
2091
+ }
2077
2092
  }
2078
2093
  scaleFactor = (mapObject.enablePersistence) ? ((mapObject.mapScaleValue >= 1) ? mapObject.mapScaleValue : 1) : scaleFactor;
2079
2094
  mapObject.widthBeforeRefresh = mapObject.availableSize.width;
@@ -2510,6 +2525,12 @@ function elementAnimate(element, delay, duration, point, maps, ele, radius) {
2510
2525
  delay: delay,
2511
2526
  progress: function (args) {
2512
2527
  if (args.timeStamp > args.delay) {
2528
+ if (maps.isTileMap && height === 0) {
2529
+ var layerGroupElement = document.querySelector('.GroupElement');
2530
+ if (!isNullOrUndefined(layerGroupElement)) {
2531
+ layerGroupElement.style.display = 'block';
2532
+ }
2533
+ }
2513
2534
  height = ((args.timeStamp - args.delay) / args.duration);
2514
2535
  element.setAttribute('transform', 'translate( ' + (centerX - (radius * height)) + ' ' + (centerY - (radius * height)) +
2515
2536
  ' ) scale(' + height + ')');
@@ -2709,6 +2730,8 @@ function renderLegendShape(location, size, shape, options, url) {
2709
2730
  var shapeY = location.y;
2710
2731
  var x = location.x + (-shapeWidth / 2);
2711
2732
  var y = location.y + (-shapeHeight / 2);
2733
+ options['stroke'] = (shape === 'HorizontalLine' || shape === 'VerticalLine' || shape === 'Cross') ? options['fill'] : options['stroke'];
2734
+ options['stroke-width'] = (options['stroke-width'] === 0 && (shape === 'HorizontalLine' || shape === 'VerticalLine' || shape === 'Cross')) ? 1 : options['stroke-width'];
2712
2735
  switch (shape) {
2713
2736
  case 'Circle':
2714
2737
  case 'Bubble':
@@ -2720,6 +2743,11 @@ function renderLegendShape(location, size, shape, options, url) {
2720
2743
  + (shapeY + (-shapeHeight / 2));
2721
2744
  merge(options, { 'd': renderPath });
2722
2745
  break;
2746
+ case 'HorizontalLine':
2747
+ renderPath = 'M' + ' ' + shapeX + ' ' + shapeY + ' ' + 'L' + ' ' + (shapeX + (shapeWidth / 2)) + ' '
2748
+ + shapeY;
2749
+ merge(options, { 'd': renderPath });
2750
+ break;
2723
2751
  case 'Diamond':
2724
2752
  renderPath = 'M' + ' ' + x + ' ' + shapeY + ' ' +
2725
2753
  'L' + ' ' + shapeX + ' ' + (shapeY + (-shapeHeight / 2)) + ' ' +
@@ -2844,6 +2872,7 @@ function changeBorderWidth(element, index, scale, maps) {
2844
2872
  var value = 0;
2845
2873
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2846
2874
  var borderWidthValue = maps.layersCollection[index].shapeSettings.borderWidthValuePath;
2875
+ var borderWidth = maps.layersCollection[index].shapeSettings.border.width;
2847
2876
  if (maps.layersCollection[index].shapeSettings.borderWidthValuePath) {
2848
2877
  value = checkShapeDataFields(
2849
2878
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2853,14 +2882,17 @@ function changeBorderWidth(element, index, scale, maps) {
2853
2882
  currentStroke = maps.layersCollection[index].dataSource[value][borderWidthValue];
2854
2883
  }
2855
2884
  else {
2856
- currentStroke = (maps.layersCollection[index].shapeSettings.border.width);
2885
+ currentStroke = (isNullOrUndefined(borderWidth) ? 0 : borderWidth);
2857
2886
  }
2858
2887
  }
2859
2888
  }
2860
2889
  else {
2861
- currentStroke = (maps.layersCollection[index].shapeSettings.border.width);
2890
+ currentStroke = (isNullOrUndefined(borderWidth) ? 0 : borderWidth);
2862
2891
  }
2863
2892
  childNode.setAttribute('stroke-width', (currentStroke / scale).toString());
2893
+ if (element.id.indexOf('_LineString') > -1 && isNullOrUndefined(currentStroke)) {
2894
+ childNode.setAttribute('stroke-width', (1 / scale).toString());
2895
+ }
2864
2896
  }
2865
2897
  }
2866
2898
  }
@@ -3224,15 +3256,15 @@ var Theme;
3224
3256
  fontWeight: 'Regular',
3225
3257
  color: null,
3226
3258
  fontStyle: 'Regular',
3227
- fontFamily: 'Roboto'
3259
+ fontFamily: null
3228
3260
  };
3229
3261
  /** @private */
3230
3262
  Theme.legendTitleFont = {
3231
- size: '14px',
3232
- fontWeight: 'Regular',
3263
+ size: '12px',
3264
+ fontWeight: 'Medium',
3233
3265
  color: null,
3234
- fontStyle: 'Regular',
3235
- fontFamily: 'Roboto, Noto, Sans-serif'
3266
+ fontStyle: 'Medium',
3267
+ fontFamily: null
3236
3268
  };
3237
3269
  /** @private */
3238
3270
  Theme.legendLabelFont = {
@@ -3362,7 +3394,6 @@ var BootstrapTheme;
3362
3394
  * @param {MapsTheme} theme Specifies the theme of the maps
3363
3395
  * @returns {string[]} Returns the shape color
3364
3396
  */
3365
- // eslint-disable-next-line @typescript-eslint/no-namespace
3366
3397
  function getShapeColor(theme) {
3367
3398
  var themePalette;
3368
3399
  switch (theme.toLowerCase()) {
@@ -3374,6 +3405,22 @@ function getShapeColor(theme) {
3374
3405
  themePalette = ['#10B981', '#22D3EE', '#2DD4BF', '#4ADE80', '#8B5CF6',
3375
3406
  '#E879F9', '#F472B6', '#F87171', '#F97316', '#FCD34D'];
3376
3407
  break;
3408
+ case 'bootstrap5':
3409
+ themePalette = ['#262E0B', '#668E1F', '#AF6E10', '#862C0B', '#1F2D50',
3410
+ '#64680B', '#311508', '#4C4C81', '#0C7DA0', '#862C0B'];
3411
+ break;
3412
+ case 'bootstrap5dark':
3413
+ themePalette = ['#5ECB9B', '#A860F1', '#EBA844', '#557EF7', '#E9599B',
3414
+ '#BFC529', '#3BC6CF', '#7A68EC', '#74B706', '#EA6266'];
3415
+ break;
3416
+ case 'fluentui':
3417
+ themePalette = ['#614570', '#4C6FB1', '#CC6952', '#3F579A', '#4EA09B',
3418
+ '#6E7A89', '#D4515C', '#E6AF5D', '#639751', '#9D4D69'];
3419
+ break;
3420
+ case 'fluentuidark':
3421
+ themePalette = ['#8AB113', '#2A72D5', '#43B786', '#584EC6', '#E85F9C',
3422
+ '#6E7A89', '#EA6266', '#EBA844', '#26BC7A', '#BC4870'];
3423
+ break;
3377
3424
  default:
3378
3425
  themePalette = ['#B5E485', '#7BC1E8', '#DF819C', '#EC9B79', '#78D0D3',
3379
3426
  '#D6D572', '#9178E3', '#A1E5B4', '#87A4B4', '#E4C16C'];
@@ -3519,6 +3566,7 @@ function getThemeStyle(theme) {
3519
3566
  tooltipFillColor: '#363F4C',
3520
3567
  zoomFillColor: '#FFFFFF',
3521
3568
  labelFontFamily: 'Roboto, Noto, Sans-serif',
3569
+ fontFamily: 'Roboto, Noto, Sans-serif',
3522
3570
  titleFontWeight: 'Medium',
3523
3571
  zoomSelectionColor: '#e61576',
3524
3572
  shapeFill: '#A6A6A6'
@@ -3536,6 +3584,7 @@ function getThemeStyle(theme) {
3536
3584
  tooltipFontColor: '#000000',
3537
3585
  tooltipFillColor: '#ffffff',
3538
3586
  zoomFillColor: '#FFFFFF',
3587
+ fontFamily: 'Roboto, Noto, Sans-serif',
3539
3588
  labelFontFamily: 'Roboto, Noto, Sans-serif',
3540
3589
  titleFontWeight: 'Medium',
3541
3590
  zoomSelectionColor: '#e61576',
@@ -3611,6 +3660,98 @@ function getThemeStyle(theme) {
3611
3660
  shapeFill: '#374151'
3612
3661
  };
3613
3662
  break;
3663
+ case 'bootstrap5':
3664
+ style = {
3665
+ backgroundColor: 'rgba(255,255,255, 0.0)',
3666
+ areaBackgroundColor: 'rgba(255,255,255, 0.0)',
3667
+ titleFontColor: '#212529',
3668
+ subTitleFontColor: '#212529',
3669
+ legendTitleFontColor: '#212529',
3670
+ legendTextColor: '#212529',
3671
+ dataLabelFontColor: '#212529',
3672
+ tooltipFontColor: '#F9FAFB',
3673
+ tooltipFillColor: '#212529',
3674
+ zoomFillColor: '#6C757D',
3675
+ fontFamily: 'Helvetica Neue',
3676
+ titleFontSize: '14px',
3677
+ legendFontSize: '12px',
3678
+ tooltipFillOpacity: 1,
3679
+ tooltipTextOpacity: 1,
3680
+ labelFontFamily: 'Helvetica Neue',
3681
+ titleFontWeight: 'normal',
3682
+ zoomSelectionColor: '#343A40',
3683
+ shapeFill: '#E9ECEF'
3684
+ };
3685
+ break;
3686
+ case 'bootstrap5dark':
3687
+ style = {
3688
+ backgroundColor: 'rgba(255,255,255, 0.0)',
3689
+ areaBackgroundColor: 'rgba(255,255,255, 0.0)',
3690
+ titleFontColor: '#FFFFFF',
3691
+ subTitleFontColor: '#FFFFFF',
3692
+ legendTitleFontColor: '#FFFFFF',
3693
+ legendTextColor: '#FFFFFF',
3694
+ dataLabelFontColor: '#FFFFFF',
3695
+ tooltipFontColor: '#212529',
3696
+ tooltipFillColor: '#E9ECEF',
3697
+ zoomFillColor: '#B5BABE',
3698
+ fontFamily: 'Helvetica Neue',
3699
+ titleFontSize: '14px',
3700
+ legendFontSize: '12px',
3701
+ tooltipFillOpacity: 1,
3702
+ tooltipTextOpacity: 1,
3703
+ labelFontFamily: 'Helvetica Neue',
3704
+ titleFontWeight: 'normal',
3705
+ zoomSelectionColor: '#DEE2E6',
3706
+ shapeFill: '#495057'
3707
+ };
3708
+ break;
3709
+ case 'fluentui':
3710
+ style = {
3711
+ backgroundColor: 'rgba(255,255,255, 0.0)',
3712
+ areaBackgroundColor: 'rgba(255,255,255, 0.0)',
3713
+ titleFontColor: '#201F1E',
3714
+ subTitleFontColor: '#201F1E',
3715
+ legendTitleFontColor: '#201F1E',
3716
+ legendTextColor: '#201F1E',
3717
+ dataLabelFontColor: '#201F1E',
3718
+ tooltipFontColor: '#323130',
3719
+ tooltipFillColor: '#FFFFFF',
3720
+ zoomFillColor: '#A19F9D',
3721
+ fontFamily: 'Segoe UI',
3722
+ titleFontSize: '14px',
3723
+ legendFontSize: '12px',
3724
+ tooltipFillOpacity: 1,
3725
+ tooltipTextOpacity: 1,
3726
+ labelFontFamily: 'Segoe UI',
3727
+ titleFontWeight: '600',
3728
+ zoomSelectionColor: '#323130',
3729
+ shapeFill: '#F3F2F1'
3730
+ };
3731
+ break;
3732
+ case 'fluentuidark':
3733
+ style = {
3734
+ backgroundColor: 'rgba(255,255,255, 0.0)',
3735
+ areaBackgroundColor: 'rgba(255,255,255, 0.0)',
3736
+ titleFontColor: '#F3F2F1',
3737
+ subTitleFontColor: '#F3F2F1',
3738
+ legendTitleFontColor: '#F3F2F1',
3739
+ legendTextColor: '#F3F2F1',
3740
+ dataLabelFontColor: '#F3F2F1',
3741
+ tooltipFontColor: '#F3F2F1',
3742
+ tooltipFillColor: '#252423',
3743
+ zoomFillColor: '#484644',
3744
+ fontFamily: 'Segoe UI',
3745
+ titleFontSize: '14px',
3746
+ legendFontSize: '12px',
3747
+ tooltipFillOpacity: 1,
3748
+ tooltipTextOpacity: 1,
3749
+ labelFontFamily: 'Segoe UI',
3750
+ titleFontWeight: '600',
3751
+ zoomSelectionColor: '#F3F2F1',
3752
+ shapeFill: '#252423'
3753
+ };
3754
+ break;
3614
3755
  default:
3615
3756
  style = {
3616
3757
  backgroundColor: '#FFFFFF',
@@ -3624,6 +3765,7 @@ function getThemeStyle(theme) {
3624
3765
  tooltipFillColor: '#000000',
3625
3766
  zoomFillColor: '#737373',
3626
3767
  labelFontFamily: 'Roboto, Noto, Sans-serif',
3768
+ fontFamily: 'Roboto, Noto, Sans-serif',
3627
3769
  titleFontWeight: 'Medium',
3628
3770
  zoomSelectionColor: '#e61576',
3629
3771
  shapeFill: '#A6A6A6'
@@ -4265,6 +4407,9 @@ var LegendSettings = /** @__PURE__ @class */ (function (_super) {
4265
4407
  function LegendSettings() {
4266
4408
  return _super !== null && _super.apply(this, arguments) || this;
4267
4409
  }
4410
+ __decorate$1([
4411
+ Property(false)
4412
+ ], LegendSettings.prototype, "useMarkerShape", void 0);
4268
4413
  __decorate$1([
4269
4414
  Property(false)
4270
4415
  ], LegendSettings.prototype, "toggleVisibility", void 0);
@@ -4317,7 +4462,7 @@ var LegendSettings = /** @__PURE__ @class */ (function (_super) {
4317
4462
  Complex({}, CommonTitleSettings)
4318
4463
  ], LegendSettings.prototype, "title", void 0);
4319
4464
  __decorate$1([
4320
- Complex({}, Font)
4465
+ Complex(Theme.legendTitleFont, Font)
4321
4466
  ], LegendSettings.prototype, "titleStyle", void 0);
4322
4467
  __decorate$1([
4323
4468
  Property('Bottom')
@@ -4415,7 +4560,7 @@ var ShapeSettings = /** @__PURE__ @class */ (function (_super) {
4415
4560
  Property(5)
4416
4561
  ], ShapeSettings.prototype, "circleRadius", void 0);
4417
4562
  __decorate$1([
4418
- Complex({ width: 0, color: '#000000' }, Border)
4563
+ Complex({ width: null, color: '#000000' }, Border)
4419
4564
  ], ShapeSettings.prototype, "border", void 0);
4420
4565
  __decorate$1([
4421
4566
  Property('')
@@ -4663,15 +4808,6 @@ var MapsAreaSettings = /** @__PURE__ @class */ (function (_super) {
4663
4808
  return MapsAreaSettings;
4664
4809
  }(ChildProperty));
4665
4810
 
4666
- var __rest = (undefined && undefined.__rest) || function (s, e) {
4667
- var t = {};
4668
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4669
- t[p] = s[p];
4670
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
4671
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
4672
- t[p[i]] = s[p[i]];
4673
- return t;
4674
- };
4675
4811
  /**
4676
4812
  * Marker class
4677
4813
  */
@@ -4717,15 +4853,9 @@ var Marker = /** @__PURE__ @class */ (function () {
4717
4853
  border: markerSettings.border, colorValuePath: markerSettings.colorValuePath,
4718
4854
  shapeValuePath: markerSettings.shapeValuePath, imageUrlValuePath: markerSettings.imageUrlValuePath
4719
4855
  };
4720
- eventArgs = markerColorChoose(eventArgs, data);
4721
- eventArgs = markerShapeChoose(eventArgs, data);
4722
4856
  _this.maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
4723
- if (markerSettings.colorValuePath !== eventArgs.colorValuePath) {
4724
- eventArgs = markerColorChoose(eventArgs, data);
4725
- }
4726
- if (markerSettings.shapeValuePath !== eventArgs.shapeValuePath) {
4727
- eventArgs = markerShapeChoose(eventArgs, data);
4728
- }
4857
+ eventArgs = markerColorChoose(eventArgs, data);
4858
+ eventArgs = markerShapeChoose(eventArgs, data);
4729
4859
  var lng = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
4730
4860
  Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
4731
4861
  parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? parseFloat(data['Longitude']) : 0;
@@ -4952,10 +5082,6 @@ var Marker = /** @__PURE__ @class */ (function () {
4952
5082
  longitude: options.data['longitude'] || options.data['Longitude'],
4953
5083
  value: options.data['name']
4954
5084
  };
4955
- if (this.maps.isBlazor) {
4956
- var maps = eventArgs.maps, marker_1 = eventArgs.marker, blazorEventArgs = __rest(eventArgs, ["maps", "marker"]);
4957
- eventArgs = blazorEventArgs;
4958
- }
4959
5085
  this.maps.trigger(markerClick, eventArgs);
4960
5086
  };
4961
5087
  /**
@@ -5035,9 +5161,6 @@ var Marker = /** @__PURE__ @class */ (function () {
5035
5161
  for (var _i = 0, indexes_1 = indexes; _i < indexes_1.length; _i++) {
5036
5162
  var i = indexes_1[_i];
5037
5163
  collection_1.push({ data: marker$$1.dataSource[i], index: i });
5038
- if (this.maps.isBlazor) {
5039
- marker$$1.dataSource[i]['text'] = '';
5040
- }
5041
5164
  markCollection.push(marker$$1.dataSource[i]);
5042
5165
  }
5043
5166
  isClusterSame = false;
@@ -5556,15 +5679,6 @@ var ColorMapping = /** @__PURE__ @class */ (function () {
5556
5679
  return ColorMapping;
5557
5680
  }());
5558
5681
 
5559
- var __rest$1 = (undefined && undefined.__rest) || function (s, e) {
5560
- var t = {};
5561
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5562
- t[p] = s[p];
5563
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
5564
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
5565
- t[p[i]] = s[p[i]];
5566
- return t;
5567
- };
5568
5682
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
5569
5683
  /* eslint-disable jsdoc/require-param */
5570
5684
  /* eslint-disable no-case-declarations */
@@ -5735,7 +5849,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5735
5849
  if (this.mapObject.zoomSettings.resetToInitial && this.mapObject.initialCheck && !isNullOrUndefined(panel.mapObject.height)
5736
5850
  && this.mapObject.availableSize.height > 512) {
5737
5851
  this.mapObject.applyZoomReset = true;
5738
- this.mapObject.initialZoomLevel = Math.floor(this.mapObject.availableSize.height / 512) + 1;
5852
+ this.mapObject.initialZoomLevel = Math.floor(this.mapObject.availableSize.height / 512);
5739
5853
  var padding = this.mapObject.layers[this.mapObject.baseLayerIndex].layerType !== 'GoogleStaticMap' ?
5740
5854
  20 : 0;
5741
5855
  var totalSize = Math.pow(2, this.mapObject.initialZoomLevel) * 256;
@@ -5781,10 +5895,6 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5781
5895
  cancel: false, name: layerRendering, index: layerIndex,
5782
5896
  layer: layer, maps: this.mapObject, visible: layer.visible
5783
5897
  };
5784
- if (this.mapObject.isBlazor) {
5785
- var maps = eventArgs.maps, layer_1 = eventArgs.layer, blazorEventArgs = __rest$1(eventArgs, ["maps", "layer"]);
5786
- eventArgs = blazorEventArgs;
5787
- }
5788
5898
  this.mapObject.trigger('layerRendering', eventArgs, function (observedArgs) {
5789
5899
  if (!eventArgs.cancel && eventArgs.visible) {
5790
5900
  if (layer.layerType !== 'Geometry') {
@@ -5819,13 +5929,11 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5819
5929
  bing_1.maxZoom = maxZoom;
5820
5930
  }
5821
5931
  proxy_1.mapObject['bingMap'] = bing_1;
5822
- if (_this.mapObject.isBlazor) {
5823
- if (!isNullOrUndefined(markerGroupElement)) {
5824
- removeElement(_this.mapObject.element.id + '_Markers_Group');
5825
- }
5826
- }
5827
5932
  proxy_1.renderTileLayer(proxy_1, layer, layerIndex, bing_1);
5828
5933
  _this.mapObject.arrangeTemplate();
5934
+ if (_this.mapObject.zoomModule && (_this.mapObject.previousScale !== _this.mapObject.scale)) {
5935
+ _this.mapObject.zoomModule.applyTransform(true);
5936
+ }
5829
5937
  };
5830
5938
  ajax.send();
5831
5939
  }
@@ -5904,9 +6012,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5904
6012
  var data = geometryData['geometry'];
5905
6013
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5906
6014
  var properties = geometryData['properties'];
5907
- if (type !== 'LineString') {
5908
- _this.generatePoints(type, coords, data, properties);
5909
- }
6015
+ _this.generatePoints(type, coords, data, properties);
5910
6016
  }
5911
6017
  });
5912
6018
  this.currentLayer.rectBounds = this.rectBounds;
@@ -5934,11 +6040,9 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5934
6040
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5935
6041
  var currentShapeData = this_1.currentLayer.layerData[i];
5936
6042
  var pathOptions;
5937
- var polyLineOptions;
5938
6043
  var circleOptions;
5939
6044
  var groupElement;
5940
6045
  var path = '';
5941
- var points = '';
5942
6046
  var fill = (shapeSettings.autofill) ? colors[i % colors.length] :
5943
6047
  (shapeSettings.fill || this_1.mapObject.themeStyle.shapeFill);
5944
6048
  if (shapeSettings.colorValuePath !== null && !isNullOrUndefined(currentShapeData['property'])) {
@@ -5988,10 +6092,6 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
5988
6092
  shape: shapeSettings, fill: fill,
5989
6093
  border: { width: borderValue.width, color: borderValue.color, opacity: borderValue.opacity }
5990
6094
  };
5991
- if (this_1.mapObject.isBlazor) {
5992
- var maps = eventArgs.maps, blazorEventArgs = __rest$1(eventArgs, ["maps"]);
5993
- eventArgs = blazorEventArgs;
5994
- }
5995
6095
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5996
6096
  var shapeRenderingSuccess = function (eventArgs) {
5997
6097
  var drawingType = !isNullOrUndefined(currentShapeData['_isMultiPolygon'])
@@ -6006,7 +6106,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6006
6106
  if (isNullOrUndefined(shapeSettings.borderColorValuePath)) {
6007
6107
  _this.mapObject.layers[layerIndex].shapeSettings.border.color = eventArgs.border.color;
6008
6108
  }
6009
- else if (isNullOrUndefined(shapeSettings.borderWidthValuePath)) {
6109
+ if (isNullOrUndefined(shapeSettings.borderWidthValuePath)) {
6010
6110
  _this.mapObject.layers[layerIndex].shapeSettings.border.width = eventArgs.border.width;
6011
6111
  }
6012
6112
  }
@@ -6060,17 +6160,21 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6060
6160
  }
6061
6161
  break;
6062
6162
  case 'LineString':
6163
+ path += 'M ' + (currentShapeData[0]['point']['x']) + ' ' + (currentShapeData[0]['point']['y']);
6063
6164
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6064
6165
  currentShapeData.map(function (lineData) {
6065
- points += lineData['point']['x'] + ' , ' + lineData['point']['y'] + ' ';
6166
+ path += 'L' + (lineData['point']['x']) + ' , ' + (lineData['point']['y']) + ' ';
6066
6167
  });
6067
- polyLineOptions = new PolylineOption(shapeID, points, eventArgs.fill, eventArgs.border.width, eventArgs.border.color, opacity, eventArgs.border.opacity, shapeSettings.dashArray);
6068
- pathEle = _this.mapObject.renderer.drawPolyline(polyLineOptions);
6168
+ if (path.length > 3) {
6169
+ pathOptions = new PathOption(shapeID, 'transparent', !isNullOrUndefined(eventArgs.border.width) ? eventArgs.border.width : 1, eventArgs.border.color, opacity, eventArgs.border.opacity, shapeSettings.dashArray, path);
6170
+ pathEle = _this.mapObject.renderer.drawPath(pathOptions);
6171
+ }
6069
6172
  break;
6070
6173
  case 'Point':
6071
6174
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6072
6175
  var pointData = currentShapeData['point'];
6073
- circleOptions = new CircleOption(shapeID, eventArgs.fill, eventArgs.border, opacity, pointData['x'], pointData['y'], shapeSettings.circleRadius, null);
6176
+ var circleRadius = (_this.mapObject.layers[layerIndex].type !== 'SubLayer') ? shapeSettings.circleRadius : shapeSettings.circleRadius / _this.currentFactor;
6177
+ circleOptions = new CircleOption(shapeID, eventArgs.fill, eventArgs.border, opacity, pointData['x'], pointData['y'], circleRadius, null);
6074
6178
  pathEle = _this.mapObject.renderer.drawCircle(circleOptions);
6075
6179
  break;
6076
6180
  case 'Path':
@@ -6092,6 +6196,9 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6092
6196
  pathEle.setAttribute('aria-label', ((!isNullOrUndefined(currentShapeData['property'])) ?
6093
6197
  (currentShapeData['property'][properties]) : ''));
6094
6198
  pathEle.setAttribute('tabindex', (_this.mapObject.tabIndex + i + 2).toString());
6199
+ if (drawingType === 'LineString') {
6200
+ pathEle.setAttribute('style', 'outline:none');
6201
+ }
6095
6202
  maintainSelection(_this.mapObject.selectedElementId, _this.mapObject.shapeSelectionClass, pathEle, 'ShapeselectionMapStyle');
6096
6203
  if (_this.mapObject.toggledShapeElementId) {
6097
6204
  for (var j = 0; j < _this.mapObject.toggledShapeElementId.length; j++) {
@@ -6310,11 +6417,14 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6310
6417
  this.currentLayer.layerData.push(multiPolygonDatas);
6311
6418
  break;
6312
6419
  case 'linestring':
6420
+ var extraSpace_1 = !isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6421
+ this.currentLayer.shapeSettings.border.width : 1;
6313
6422
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6314
6423
  coordinates.map(function (points, index) {
6315
6424
  latitude = points[1];
6316
6425
  longitude = points[0];
6317
6426
  var point = convertGeoToPoint(latitude, longitude, _this.currentFactor, _this.currentLayer, _this.mapObject);
6427
+ _this.calculateBox(point, extraSpace_1);
6318
6428
  newData.push({
6319
6429
  point: point, lat: latitude, lng: longitude
6320
6430
  });
@@ -6325,6 +6435,8 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6325
6435
  break;
6326
6436
  case 'point': {
6327
6437
  var arrayCollections_1 = false;
6438
+ var extraSpace_2 = (!isNullOrUndefined(this.currentLayer.shapeSettings.border.width) ?
6439
+ this.currentLayer.shapeSettings.border.width : 1) + (this.currentLayer.shapeSettings.circleRadius * 2);
6328
6440
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6329
6441
  coordinates.map(function (points, index) {
6330
6442
  if (Object.prototype.toString.call(points) === '[object Array]') {
@@ -6341,6 +6453,7 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6341
6453
  latitude = coordinates[1];
6342
6454
  longitude = coordinates[0];
6343
6455
  var point = convertGeoToPoint(latitude, longitude, this.currentFactor, this.currentLayer, this.mapObject);
6456
+ this.calculateBox(point, extraSpace_2);
6344
6457
  this.currentLayer.layerData.push({
6345
6458
  point: point, type: type, lat: latitude, lng: longitude, property: properties
6346
6459
  });
@@ -6354,6 +6467,17 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6354
6467
  break;
6355
6468
  }
6356
6469
  };
6470
+ LayerPanel.prototype.calculateBox = function (point, extraSpace) {
6471
+ if (isNullOrUndefined(this.rectBounds)) {
6472
+ this.rectBounds = { min: { x: point.x, y: point.y - extraSpace }, max: { x: point.x, y: point.y + extraSpace } };
6473
+ }
6474
+ else {
6475
+ this.rectBounds['min']['x'] = Math.min(this.rectBounds['min']['x'], point.x);
6476
+ this.rectBounds['min']['y'] = Math.min(this.rectBounds['min']['y'], point.y - extraSpace);
6477
+ this.rectBounds['max']['x'] = Math.max(this.rectBounds['max']['x'], point.x);
6478
+ this.rectBounds['max']['y'] = Math.max(this.rectBounds['max']['y'], point.y + extraSpace);
6479
+ }
6480
+ };
6357
6481
  LayerPanel.prototype.calculateFactor = function (layer) {
6358
6482
  var horFactor;
6359
6483
  var verFactor = 1;
@@ -6462,6 +6586,15 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6462
6586
  _this.calculateRectBox(point[0]);
6463
6587
  });
6464
6588
  break;
6589
+ case 'linestring':
6590
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6591
+ coordinates.map(function (point, index) {
6592
+ _this.calculateRectBox(point, 'LineString', index === 0 ? true : false);
6593
+ });
6594
+ break;
6595
+ case 'point':
6596
+ _this.calculateRectBox(coordinates, 'point');
6597
+ break;
6465
6598
  }
6466
6599
  }
6467
6600
  });
@@ -6498,20 +6631,33 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6498
6631
  return newData;
6499
6632
  };
6500
6633
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6501
- LayerPanel.prototype.calculateRectBox = function (coordinates) {
6634
+ LayerPanel.prototype.calculateRectBox = function (coordinates, type, isFirstItem) {
6502
6635
  var _this = this;
6503
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
6504
- Array.prototype.forEach.call(coordinates, function (currentCoords) {
6505
- if (isNullOrUndefined(_this.mapObject.baseMapBounds)) {
6506
- _this.mapObject.baseMapBounds = new GeoLocation({ min: currentCoords[1], max: currentCoords[1] }, { min: currentCoords[0], max: currentCoords[0] });
6636
+ if (type !== 'LineString' && type !== 'point') {
6637
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6638
+ Array.prototype.forEach.call(coordinates, function (currentCoords) {
6639
+ if (isNullOrUndefined(_this.mapObject.baseMapBounds)) {
6640
+ _this.mapObject.baseMapBounds = new GeoLocation({ min: currentCoords[1], max: currentCoords[1] }, { min: currentCoords[0], max: currentCoords[0] });
6641
+ }
6642
+ else {
6643
+ _this.mapObject.baseMapBounds.latitude.min = Math.min(_this.mapObject.baseMapBounds.latitude.min, currentCoords[1]);
6644
+ _this.mapObject.baseMapBounds.latitude.max = Math.max(_this.mapObject.baseMapBounds.latitude.max, currentCoords[1]);
6645
+ _this.mapObject.baseMapBounds.longitude.min = Math.min(_this.mapObject.baseMapBounds.longitude.min, currentCoords[0]);
6646
+ _this.mapObject.baseMapBounds.longitude.max = Math.max(_this.mapObject.baseMapBounds.longitude.max, currentCoords[0]);
6647
+ }
6648
+ });
6649
+ }
6650
+ else {
6651
+ if ((isFirstItem || type === 'point') && isNullOrUndefined(this.mapObject.baseMapBounds)) {
6652
+ this.mapObject.baseMapBounds = new GeoLocation({ min: coordinates[1], max: coordinates[1] }, { min: coordinates[0], max: coordinates[0] });
6507
6653
  }
6508
6654
  else {
6509
- _this.mapObject.baseMapBounds.latitude.min = Math.min(_this.mapObject.baseMapBounds.latitude.min, currentCoords[1]);
6510
- _this.mapObject.baseMapBounds.latitude.max = Math.max(_this.mapObject.baseMapBounds.latitude.max, currentCoords[1]);
6511
- _this.mapObject.baseMapBounds.longitude.min = Math.min(_this.mapObject.baseMapBounds.longitude.min, currentCoords[0]);
6512
- _this.mapObject.baseMapBounds.longitude.max = Math.max(_this.mapObject.baseMapBounds.longitude.max, currentCoords[0]);
6655
+ this.mapObject.baseMapBounds.latitude.min = Math.min(this.mapObject.baseMapBounds.latitude.min, coordinates[1]);
6656
+ this.mapObject.baseMapBounds.latitude.max = Math.max(this.mapObject.baseMapBounds.latitude.max, coordinates[1]);
6657
+ this.mapObject.baseMapBounds.longitude.min = Math.min(this.mapObject.baseMapBounds.longitude.min, coordinates[0]);
6658
+ this.mapObject.baseMapBounds.longitude.max = Math.max(this.mapObject.baseMapBounds.longitude.max, coordinates[0]);
6513
6659
  }
6514
- });
6660
+ }
6515
6661
  };
6516
6662
  LayerPanel.prototype.generateTiles = function (zoomLevel, tileTranslatePoint, zoomType, bing, position) {
6517
6663
  var userLang = this.mapObject.locale;
@@ -6600,16 +6746,18 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6600
6746
  }
6601
6747
  }
6602
6748
  }
6603
- this.arrangeTiles(zoomType, this.animateToZoomX, this.animateToZoomY);
6749
+ if (this.mapObject.previousScale !== this.mapObject.scale || this.mapObject.isReset) {
6750
+ this.arrangeTiles(zoomType, this.animateToZoomX, this.animateToZoomY);
6751
+ }
6604
6752
  };
6605
6753
  LayerPanel.prototype.arrangeTiles = function (type, x, y) {
6606
6754
  var _this = this;
6607
6755
  var element = document.getElementById(this.mapObject.element.id + '_tile_parent');
6608
6756
  var element1 = document.getElementById(this.mapObject.element.id + '_tiles');
6609
6757
  var timeOut;
6610
- if (!isNullOrUndefined(type) && type !== 'Pan' && type !== 'Reset' && type.indexOf('ZoomOut') === -1) {
6758
+ if (!isNullOrUndefined(type) && type !== 'Pan') {
6611
6759
  this.tileAnimation(type, x, y);
6612
- timeOut = 250;
6760
+ timeOut = this.mapObject.layersCollection[0].animationDuration;
6613
6761
  }
6614
6762
  else {
6615
6763
  timeOut = 0;
@@ -6624,7 +6772,6 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6624
6772
  }
6625
6773
  if (element1) {
6626
6774
  element1.style.zIndex = '0';
6627
- element1.style.visibility = 'hidden';
6628
6775
  }
6629
6776
  var animateElement;
6630
6777
  if (!document.getElementById(_this.mapObject.element.id + '_animated_tiles') && element) {
@@ -6686,35 +6833,23 @@ var LayerPanel = /** @__PURE__ @class */ (function () {
6686
6833
  * @returns {void}
6687
6834
  */
6688
6835
  LayerPanel.prototype.tileAnimation = function (zoomType, translateX, translateY) {
6689
- var element = document.getElementById(this.mapObject.element.id + '_tile_parent');
6690
- var element1 = document.getElementById('animated_tiles');
6691
- var ele = document.getElementById(this.mapObject.element.id + '_tiles');
6836
+ var tileParent = document.getElementById(this.mapObject.element.id + '_tile_parent');
6837
+ var animatedTiles = document.getElementById(this.mapObject.element.id + '_animated_tiles');
6838
+ var tileElement = document.getElementById(this.mapObject.element.id + '_tiles');
6692
6839
  var scaleValue = '2';
6693
- if (zoomType.indexOf('ZoomOut') === 0) {
6694
- ele.style.zIndex = '1';
6695
- element.style.zIndex = '0';
6696
- // element1 = ele.children[ele.childElementCount - 1] as HTMLElement;
6697
- while (ele.childElementCount >= 1) {
6698
- ele.removeChild(ele.children[0]);
6840
+ if (zoomType.indexOf('ZoomOut') === 0 || zoomType === 'Reset') {
6841
+ tileElement.style.zIndex = '1';
6842
+ tileParent.style.zIndex = '0';
6843
+ while (tileElement.childElementCount >= 1) {
6844
+ tileElement.removeChild(tileElement.children[0]);
6699
6845
  }
6700
6846
  translateX = 0;
6701
- translateY = 128 - 23;
6702
- scaleValue = '0.5';
6847
+ translateY = document.getElementById(this.mapObject.element.id + '_tile_parent').getClientRects()[0].height / 4;
6848
+ scaleValue = zoomType.indexOf('ZoomOut') === 0 ? '0.5' : '0.2';
6703
6849
  }
6704
- else if (zoomType === 'Reset') {
6705
- ele.style.zIndex = '1';
6706
- element.style.zIndex = '0';
6707
- while (!(ele.childElementCount === 1) && !(ele.childElementCount === 0)) {
6708
- ele.removeChild(ele.children[1]);
6709
- }
6710
- element1 = ele.children[0];
6711
- translateX = 0;
6712
- translateY = 0;
6713
- scaleValue = '1';
6714
- }
6715
- if (!isNullOrUndefined(element1)) {
6716
- element1.style.transition = '250ms';
6717
- element1.style.transform = 'translate(' + translateX + 'px, ' + translateY + 'px) scale(' + scaleValue + ')';
6850
+ if (!isNullOrUndefined(animatedTiles)) {
6851
+ animatedTiles.style.transition = this.mapObject.layersCollection[0].animationDuration + 'ms';
6852
+ animatedTiles.style.transform = 'translate(' + translateX + 'px, ' + translateY + 'px) scale(' + scaleValue + ')';
6718
6853
  }
6719
6854
  };
6720
6855
  /**
@@ -6856,9 +6991,6 @@ var Annotations = /** @__PURE__ @class */ (function () {
6856
6991
  });
6857
6992
  if (annotationGroup.childElementCount > 0 && !(isNullOrUndefined(getElementByID(secondaryID)))) {
6858
6993
  getElementByID(secondaryID).appendChild(annotationGroup);
6859
- for (var i = 0; i < this.map.annotations.length; i++) {
6860
- updateBlazorTemplate(this.map.element.id + '_ContentTemplate_' + i, 'ContentTemplate', this.map.annotations[i]);
6861
- }
6862
6994
  }
6863
6995
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
6864
6996
  this.map.renderReactTemplates();
@@ -6888,10 +7020,9 @@ var Annotations = /** @__PURE__ @class */ (function () {
6888
7020
  if (argsData.cancel) {
6889
7021
  return;
6890
7022
  }
6891
- var blazor = 'Blazor';
6892
7023
  templateFn = getTemplateFunction(argsData.content);
6893
- if (templateFn && (!window[blazor] ? templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex).length : {})) {
6894
- templateElement = Array.prototype.slice.call(templateFn(!window[blazor] ? _this.map : {}, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex));
7024
+ if (templateFn && templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex).length) {
7025
+ templateElement = Array.prototype.slice.call(templateFn(_this.map, _this.map, argsData.content, _this.map.element.id + '_ContentTemplate_' + annotationIndex));
6895
7026
  var length_1 = templateElement.length;
6896
7027
  for (var i = 0; i < length_1; i++) {
6897
7028
  childElement.appendChild(templateElement[i]);
@@ -7155,20 +7286,14 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7155
7286
  */
7156
7287
  Maps.prototype.preRender = function () {
7157
7288
  this.isDevice = Browser.isDevice;
7158
- this.isBlazor = isBlazor();
7159
7289
  this.initPrivateVariable();
7160
7290
  this.allowServerDataBinding = false;
7161
7291
  this.unWireEVents();
7162
7292
  this.wireEVents();
7163
7293
  this.setCulture();
7164
7294
  };
7165
- /**
7166
- * To Initialize the control rendering.
7167
- *
7168
- * @returns {void}
7169
- */
7170
- Maps.prototype.render = function () {
7171
- this.trigger(load, this.isBlazor ? {} : { maps: this });
7295
+ Maps.prototype.renderElements = function () {
7296
+ this.trigger(load, { maps: this });
7172
7297
  this.createSVG();
7173
7298
  this.findBaseAndSubLayers();
7174
7299
  this.createSecondaryElement();
@@ -7180,6 +7305,14 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7180
7305
  this.processRequestJsonData();
7181
7306
  this.renderComplete();
7182
7307
  };
7308
+ /**
7309
+ * To Initialize the control rendering.
7310
+ *
7311
+ * @returns {void}
7312
+ */
7313
+ Maps.prototype.render = function () {
7314
+ this.renderElements();
7315
+ };
7183
7316
  Maps.prototype.processRequestJsonData = function () {
7184
7317
  var _this = this;
7185
7318
  var length = this.layersCollection.length - 1;
@@ -7190,7 +7323,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7190
7323
  if (layer.shapeData instanceof DataManager) {
7191
7324
  _this.serverProcess['request']++;
7192
7325
  dataModule = layer.shapeData;
7193
- queryModule = layer.query instanceof Query ? layer.query : _this.isBlazor ? (new Query().requiresCount()) : new Query();
7326
+ queryModule = layer.query instanceof Query ? layer.query : new Query();
7194
7327
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7195
7328
  var dataManager = dataModule.executeQuery(queryModule);
7196
7329
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -7206,7 +7339,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7206
7339
  if (layer.dataSource instanceof DataManager) {
7207
7340
  _this.serverProcess['request']++;
7208
7341
  dataModule = layer.dataSource;
7209
- queryModule = layer.query instanceof Query ? layer.query : _this.isBlazor ? (new Query().requiresCount()) : new Query();
7342
+ queryModule = layer.query instanceof Query ? layer.query : new Query();
7210
7343
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7211
7344
  var dataManager = dataModule.executeQuery(queryModule);
7212
7345
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -7220,8 +7353,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7220
7353
  if (layer.markerSettings[i].dataSource instanceof DataManager) {
7221
7354
  _this.serverProcess['request']++;
7222
7355
  dataModule = layer.markerSettings[i].dataSource;
7223
- queryModule = layer.markerSettings[i].query instanceof Query ? layer.markerSettings[i].query : _this.isBlazor ?
7224
- (new Query().requiresCount()) : new Query();
7356
+ queryModule = layer.markerSettings[i].query instanceof Query ? layer.markerSettings[i].query : new Query();
7225
7357
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7226
7358
  var dataManager = dataModule.executeQuery(queryModule);
7227
7359
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -7240,8 +7372,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7240
7372
  if (layer.bubbleSettings[i].dataSource instanceof DataManager) {
7241
7373
  _this.serverProcess['request']++;
7242
7374
  dataModule = layer.bubbleSettings[i].dataSource;
7243
- queryModule = layer.bubbleSettings[i].query instanceof Query ? layer.bubbleSettings[i].query : _this.isBlazor ?
7244
- (new Query().requiresCount()) : new Query();
7375
+ queryModule = layer.bubbleSettings[i].query instanceof Query ? layer.bubbleSettings[i].query : new Query();
7245
7376
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7246
7377
  var dataManager = dataModule.executeQuery(queryModule);
7247
7378
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -7334,7 +7465,15 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7334
7465
  }
7335
7466
  this.mapLayerPanel.measureLayerPanel();
7336
7467
  this.element.appendChild(this.svgObject);
7468
+ var position = this.getExtraPosition();
7337
7469
  for (var i = 0; i < this.layers.length; i++) {
7470
+ if (position.x !== 0 || position.y !== 0) {
7471
+ var markerTemplate$$1 = document.getElementById(this.element.id + '_LayerIndex_' + i + '_Markers_Template_Group');
7472
+ if (!isNullOrUndefined(markerTemplate$$1)) {
7473
+ markerTemplate$$1.style.top = this.mapAreaRect.y + position.y + 'px';
7474
+ markerTemplate$$1.style.left = this.mapAreaRect.x + position.x + 'px';
7475
+ }
7476
+ }
7338
7477
  if (this.layers[i].selectionSettings && this.layers[i].selectionSettings.enable &&
7339
7478
  this.layers[i].initialShapeSelection.length > 0 && this.checkInitialRender) {
7340
7479
  var checkSelection = this.layers[i].selectionSettings.enableMultiSelect;
@@ -7403,7 +7542,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7403
7542
  tileElement1.style.left = left + 'px';
7404
7543
  }
7405
7544
  this.arrangeTemplate();
7406
- var blazor = this.isBlazor ? this.blazorTemplates() : null;
7407
7545
  if (this.annotationsModule) {
7408
7546
  if (this.width !== '0px' && this.height !== '0px' && this.width !== '0%' && this.height !== '0%') {
7409
7547
  this.annotationsModule.renderAnnotationElements();
@@ -7416,7 +7554,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7416
7554
  }
7417
7555
  }
7418
7556
  this.zoomingChange();
7419
- this.trigger(loaded, this.isBlazor ? { isResized: this.isResize } : { maps: this, isResized: this.isResize });
7557
+ this.trigger(loaded, { maps: this, isResized: this.isResize });
7420
7558
  this.isResize = false;
7421
7559
  };
7422
7560
  /**
@@ -7482,37 +7620,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7482
7620
  }
7483
7621
  }
7484
7622
  };
7485
- /**
7486
- * To append blazor templates
7487
- *
7488
- * @returns {void}
7489
- * @private
7490
- */
7491
- Maps.prototype.blazorTemplates = function () {
7492
- var _this = this;
7493
- for (var i = 0; i < this.layers.length; i++) {
7494
- var markerLength = this.layers[i].markerSettings.length - 1;
7495
- if (markerLength >= 0) {
7496
- if (this.layers[i].dataLabelSettings.visible || this.layers[i].markerSettings[markerLength].template) {
7497
- updateBlazorTemplate(this.element.id + '_LabelTemplate', 'LabelTemplate', this.layers[i].dataLabelSettings);
7498
- for (var j = 0; j < this.layers[i].markerSettings.length; j++) {
7499
- var markerRendered = function () {
7500
- for (var x = 0; x < _this.layers.length; x++) {
7501
- var markerTemplateEle = document.getElementById(_this.element.id + '_LayerIndex_' + x + '_Markers_Template_Group');
7502
- if (!isNullOrUndefined(markerTemplateEle)) {
7503
- for (var z = 0; z < markerTemplateEle.childElementCount; z++) {
7504
- var markerTemplate$$1 = markerTemplateEle.childNodes[z];
7505
- markerTemplate$$1['style']['transform'] = 'translate(-50%, -50%)';
7506
- }
7507
- }
7508
- }
7509
- };
7510
- updateBlazorTemplate(this.element.id + '_MarkerTemplate' + j, 'MarkerTemplate', this.layers[i].markerSettings[j], undefined, markerRendered);
7511
- }
7512
- }
7513
- }
7514
- }
7515
- };
7516
7623
  /**
7517
7624
  * Render the map area border
7518
7625
  *
@@ -7789,12 +7896,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7789
7896
  * @returns {void}
7790
7897
  */
7791
7898
  Maps.prototype.createSVG = function () {
7792
- resetBlazorTemplate(this.element.id + '_LabelTemplate', 'LabelTemplate');
7793
- for (var i = 0; i < this.layers.length; i++) {
7794
- for (var j = 0; j < this.layers[i].markerSettings.length; j++) {
7795
- resetBlazorTemplate(this.element.id + '_MarkerTemplate' + j, 'MarkerTemplate');
7796
- }
7797
- }
7798
7899
  this.removeSvg();
7799
7900
  createSvg(this);
7800
7901
  };
@@ -7804,9 +7905,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7804
7905
  * @returns {void}
7805
7906
  */
7806
7907
  Maps.prototype.removeSvg = function () {
7807
- for (var i = 0; i < this.annotations.length; i++) {
7808
- resetBlazorTemplate(this.element.id + '_ContentTemplate_' + i, 'ContentTemplate');
7809
- }
7810
7908
  removeElement(this.element.id + '_Secondary_Element');
7811
7909
  removeElement(this.element.id + '_tile_parent');
7812
7910
  removeElement(this.element.id + '_tiles');
@@ -7884,7 +7982,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
7884
7982
  * This method is used to perform the operations when a click operation is performed on maps.
7885
7983
  *
7886
7984
  * @param {PointerEvent} e - Specifies the pointer event on maps.
7887
- * @blazorProperty 'PerformClick'
7888
7985
  */
7889
7986
  Maps.prototype.mapsOnClick = function (e) {
7890
7987
  var _this = this;
@@ -8036,7 +8133,9 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8036
8133
  }
8037
8134
  }
8038
8135
  this.notify(Browser.touchEndEvent, e);
8039
- e.preventDefault();
8136
+ if (e.cancelable) {
8137
+ e.preventDefault();
8138
+ }
8040
8139
  return false;
8041
8140
  };
8042
8141
  /**
@@ -8084,7 +8183,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8084
8183
  * This method is used to perform operations when performing the double click operation on maps.
8085
8184
  *
8086
8185
  * @param {PointerEvent} e - Specifies the pointer event.
8087
- * @blazorProperty 'PerformDoubleClick'
8088
8186
  */
8089
8187
  Maps.prototype.mapsOnDoubleClick = function (e) {
8090
8188
  this.notify('dblclick', e);
@@ -8110,9 +8208,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8110
8208
  }
8111
8209
  var doubleClickArgs = { cancel: false, name: doubleClick, x: e.clientX, y: e.clientY,
8112
8210
  target: targetId, latitude: latitude, longitude: longitude, isShapeSelected: null };
8113
- var doubleClickBlazorArgs = { cancel: false, name: doubleClick, x: e.clientX, y: e.clientY,
8114
- target: targetId, latitude: latitude, longitude: longitude, isShapeSelected: null };
8115
- this.trigger('doubleClick', this.isBlazor ? doubleClickBlazorArgs : doubleClickArgs);
8211
+ this.trigger('doubleClick', doubleClickArgs);
8116
8212
  }
8117
8213
  };
8118
8214
  /**
@@ -8203,26 +8299,28 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8203
8299
  */
8204
8300
  Maps.prototype.mapsOnResize = function (e) {
8205
8301
  var _this = this;
8206
- this.isResize = true;
8302
+ this.isResize = this.isReset = true;
8207
8303
  var args = {
8304
+ cancel: false,
8208
8305
  name: resize,
8209
8306
  previousSize: this.availableSize,
8210
- currentSize: new Size(0, 0),
8211
- maps: !this.isBlazor ? this : null
8307
+ currentSize: calculateSize(this),
8308
+ maps: this
8212
8309
  };
8213
- if (this.resizeTo) {
8214
- clearTimeout(this.resizeTo);
8215
- }
8216
- if (!isNullOrUndefined(this.element) && this.element.classList.contains('e-maps')) {
8217
- this.resizeTo = setTimeout(function () {
8218
- _this.unWireEVents();
8219
- _this.createSVG();
8220
- _this.refreshing = true;
8221
- _this.wireEVents();
8222
- args.currentSize = _this.availableSize;
8223
- _this.trigger(resize, args);
8224
- _this.render();
8225
- }, 500);
8310
+ this.trigger(resize, args);
8311
+ if (!args.cancel) {
8312
+ if (this.resizeTo) {
8313
+ clearTimeout(this.resizeTo);
8314
+ }
8315
+ if (!isNullOrUndefined(this.element) && this.element.classList.contains('e-maps')) {
8316
+ this.resizeTo = setTimeout(function () {
8317
+ _this.unWireEVents();
8318
+ _this.createSVG();
8319
+ _this.refreshing = true;
8320
+ _this.wireEVents();
8321
+ _this.render();
8322
+ }, 500);
8323
+ }
8226
8324
  }
8227
8325
  return false;
8228
8326
  };
@@ -8482,7 +8580,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8482
8580
  this.zoomNotApplied = true;
8483
8581
  this.scaleOfGivenLocation = calculateZoomLevel(minLatitude, maxLatitude, minLongitude, maxLongitude, this.mapAreaRect.width, this.mapAreaRect.height, this);
8484
8582
  var zoomArgs = {
8485
- cancel: false, name: 'zoom', type: zoomIn, maps: !this.isBlazor ? this : null,
8583
+ cancel: false, name: 'zoom', type: zoomIn, maps: this,
8486
8584
  tileTranslatePoint: {}, translatePoint: {},
8487
8585
  tileZoomLevel: this.isTileMap ? { previous: this.tileZoomLevel, current: this.scaleOfGivenLocation } : {},
8488
8586
  scale: !this.isTileMap ? { previous: this.scale, current: this.scaleOfGivenLocation } :
@@ -8632,19 +8730,21 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8632
8730
  render = true;
8633
8731
  break;
8634
8732
  case 'zoomSettings':
8635
- if (newProp.zoomSettings.zoomFactor !== oldProp.zoomSettings.zoomFactor) {
8636
- render = false;
8637
- }
8638
- else if (newProp.zoomSettings.shouldZoomInitially !== oldProp.zoomSettings.shouldZoomInitially) {
8639
- this.zoomSettings.zoomFactor = 1;
8640
- render = true;
8641
- }
8642
- else if (newProp.zoomSettings.enable !== oldProp.zoomSettings.enable) {
8643
- this.zoomSettings.zoomFactor = 1;
8644
- render = true;
8645
- }
8646
- else {
8647
- render = true;
8733
+ if (!isNullOrUndefined(oldProp.zoomSettings)) {
8734
+ if (newProp.zoomSettings.zoomFactor !== oldProp.zoomSettings.zoomFactor) {
8735
+ render = false;
8736
+ }
8737
+ else if (newProp.zoomSettings.shouldZoomInitially !== oldProp.zoomSettings.shouldZoomInitially) {
8738
+ this.zoomSettings.zoomFactor = 1;
8739
+ render = true;
8740
+ }
8741
+ else if (newProp.zoomSettings.enable !== oldProp.zoomSettings.enable) {
8742
+ this.zoomSettings.zoomFactor = 1;
8743
+ render = true;
8744
+ }
8745
+ else {
8746
+ render = true;
8747
+ }
8648
8748
  }
8649
8749
  break;
8650
8750
  case 'locale':
@@ -8657,12 +8757,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8657
8757
  if (newProp.layers && isMarker) {
8658
8758
  removeElement(this.element.id + '_Markers_Group');
8659
8759
  if (this.isTileMap) {
8660
- if (this.isBlazor) {
8661
- this.render();
8662
- }
8663
- else {
8664
- this.mapLayerPanel.renderTileLayer(this.mapLayerPanel, this.layers['currentFactor'], (this.layers.length - 1));
8665
- }
8760
+ this.mapLayerPanel.renderTileLayer(this.mapLayerPanel, this.layers['currentFactor'], (this.layers.length - 1));
8666
8761
  }
8667
8762
  else {
8668
8763
  this.render();
@@ -8673,7 +8768,7 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8673
8768
  }
8674
8769
  else {
8675
8770
  this.createSVG();
8676
- this.render();
8771
+ this.renderElements();
8677
8772
  }
8678
8773
  }
8679
8774
  };
@@ -8813,6 +8908,21 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
8813
8908
  });
8814
8909
  return isVisible;
8815
8910
  };
8911
+ /**
8912
+ * To find space between the secondary element and svg element.
8913
+ */
8914
+ Maps.prototype.getExtraPosition = function () {
8915
+ var top;
8916
+ var left;
8917
+ var svgElement = getElement(this.element.id + '_svg');
8918
+ if (!isNullOrUndefined(svgElement)) {
8919
+ var svgClientRect = svgElement.getClientRects()[0];
8920
+ var mapsClientRect = (getElement(this.element.id + '_Secondary_Element')).getClientRects()[0];
8921
+ top = svgClientRect.top - mapsClientRect.top;
8922
+ left = svgClientRect.left - mapsClientRect.left;
8923
+ }
8924
+ return new Point(left, top);
8925
+ };
8816
8926
  /**
8817
8927
  * To find marker visibility
8818
8928
  */
@@ -9174,15 +9284,6 @@ var Maps = /** @__PURE__ @class */ (function (_super) {
9174
9284
  return Maps;
9175
9285
  }(Component));
9176
9286
 
9177
- var __rest$2 = (undefined && undefined.__rest) || function (s, e) {
9178
- var t = {};
9179
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
9180
- t[p] = s[p];
9181
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
9182
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
9183
- t[p[i]] = s[p[i]];
9184
- return t;
9185
- };
9186
9287
  /**
9187
9288
  * Bubble module class
9188
9289
  */
@@ -9198,6 +9299,8 @@ var Bubble = /** @__PURE__ @class */ (function () {
9198
9299
  // eslint-disable-next-line valid-jsdoc
9199
9300
  /**
9200
9301
  * To render bubble
9302
+ *
9303
+ * @private
9201
9304
  */
9202
9305
  Bubble.prototype.renderBubble = function (
9203
9306
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -9243,7 +9346,7 @@ var Bubble = /** @__PURE__ @class */ (function () {
9243
9346
  isNaN(shapeData[layer.shapeDataPath]) ? shapeData[layer.shapeDataPath].toLowerCase() : shapeData[layer.shapeDataPath];
9244
9347
  var shapePathValue = !isNullOrUndefined(shape[shapePath]) && isNaN(shape[shapePath])
9245
9348
  ? shape[shapePath].toLowerCase() : shape[shapePath];
9246
- if (shapeDataLayerPathValue === shapePathValue) {
9349
+ if (shapeDataLayerPathValue === shapePathValue && layerData[i].type !== 'LineString') {
9247
9350
  if (layerData[i]['type'] === 'Point') {
9248
9351
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9249
9352
  shapePoints.push(this.getPoints(layerData[i], []));
@@ -9280,14 +9383,14 @@ var Bubble = /** @__PURE__ @class */ (function () {
9280
9383
  width: bubbleSettings.border.width
9281
9384
  };
9282
9385
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9283
- var center = findMidPointOfPolygon(shapePoints[midIndex], projectionType);
9386
+ var center = findMidPointOfPolygon(shapePoints[midIndex], projectionType, layer.geometryType);
9284
9387
  if (bubbleSettings.visible) {
9285
9388
  if (!isNullOrUndefined(center)) {
9286
9389
  centerY = this.maps.projectionType === 'Mercator' ? center['y'] : (-center['y']);
9287
9390
  eventArgs = {
9288
9391
  cancel: false, name: bubbleRendering, border: bubbleBorder,
9289
9392
  cx: center['x'], cy: centerY, data: shapeData, fill: bubbleColor,
9290
- maps: this.maps.isBlazor ? null : this.maps, radius: radius
9393
+ maps: this.maps, radius: radius
9291
9394
  };
9292
9395
  }
9293
9396
  else {
@@ -9296,17 +9399,13 @@ var Bubble = /** @__PURE__ @class */ (function () {
9296
9399
  eventArgs = {
9297
9400
  cancel: false, name: bubbleRendering, border: bubbleBorder,
9298
9401
  cx: shapePoints[shapePointsLength]['x'], cy: shapePoints[shapePointsLength]['y'],
9299
- data: shapeData, fill: bubbleColor, maps: this.maps.isBlazor ? null : this.maps,
9402
+ data: shapeData, fill: bubbleColor, maps: this.maps,
9300
9403
  radius: radius
9301
9404
  };
9302
9405
  }
9303
9406
  else {
9304
9407
  return;
9305
9408
  }
9306
- if (this.maps.isBlazor) {
9307
- var maps = eventArgs.maps, blazorEventArgs = __rest$2(eventArgs, ["maps"]);
9308
- eventArgs = blazorEventArgs;
9309
- }
9310
9409
  }
9311
9410
  this.maps.trigger('bubbleRendering', eventArgs, function (bubbleArgs) {
9312
9411
  if (eventArgs.cancel) {
@@ -9378,6 +9477,8 @@ var Bubble = /** @__PURE__ @class */ (function () {
9378
9477
  // eslint-disable-next-line valid-jsdoc
9379
9478
  /**
9380
9479
  * To check and trigger bubble click event
9480
+ *
9481
+ * @private
9381
9482
  */
9382
9483
  Bubble.prototype.bubbleClick = function (e) {
9383
9484
  var target = e.target.id;
@@ -9393,10 +9494,6 @@ var Bubble = /** @__PURE__ @class */ (function () {
9393
9494
  cancel: false, name: bubbleClick, data: data, maps: this.maps,
9394
9495
  target: target, x: e.clientX, y: e.clientY
9395
9496
  };
9396
- if (this.maps.isBlazor) {
9397
- var maps = eventArgs.maps, blazorEventArgs = __rest$2(eventArgs, ["maps"]);
9398
- eventArgs = blazorEventArgs;
9399
- }
9400
9497
  this.maps.trigger(bubbleClick, eventArgs);
9401
9498
  };
9402
9499
  /**
@@ -9425,6 +9522,8 @@ var Bubble = /** @__PURE__ @class */ (function () {
9425
9522
  // eslint-disable-next-line valid-jsdoc
9426
9523
  /**
9427
9524
  * To check and trigger bubble move event
9525
+ *
9526
+ * @private
9428
9527
  */
9429
9528
  Bubble.prototype.bubbleMove = function (e) {
9430
9529
  var target = e.target.id;
@@ -9440,10 +9539,6 @@ var Bubble = /** @__PURE__ @class */ (function () {
9440
9539
  cancel: false, name: bubbleMouseMove, data: data, maps: this.maps,
9441
9540
  target: target, x: e.clientX, y: e.clientY
9442
9541
  };
9443
- if (this.maps.isBlazor) {
9444
- var maps = eventArgs.maps, blazorEventArgs = __rest$2(eventArgs, ["maps"]);
9445
- eventArgs = blazorEventArgs;
9446
- }
9447
9542
  this.maps.trigger(bubbleMouseMove, eventArgs);
9448
9543
  };
9449
9544
  /**
@@ -9469,15 +9564,6 @@ var Bubble = /** @__PURE__ @class */ (function () {
9469
9564
  return Bubble;
9470
9565
  }());
9471
9566
 
9472
- var __rest$3 = (undefined && undefined.__rest) || function (s, e) {
9473
- var t = {};
9474
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
9475
- t[p] = s[p];
9476
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
9477
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
9478
- t[p[i]] = s[p[i]];
9479
- return t;
9480
- };
9481
9567
  /**
9482
9568
  * DataLabel Module used to render the maps datalabel
9483
9569
  */
@@ -9650,7 +9736,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9650
9736
  };
9651
9737
  }
9652
9738
  else {
9653
- location = findMidPointOfPolygon(shapePoint[midIndex], projectionType);
9739
+ location = findMidPointOfPolygon(shapePoint[midIndex], projectionType, layer.geometryType);
9654
9740
  }
9655
9741
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9656
9742
  var firstLevelMapLocation = location;
@@ -9671,7 +9757,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9671
9757
  location['x'] = ((location['x'] + zoomTransPoint['x']) * scale);
9672
9758
  location['y'] = ((location['y'] + zoomTransPoint['y']) * scale);
9673
9759
  }
9674
- location['y'] = (this.maps.projectionType === 'Mercator') ? location['y'] : (-location['y']);
9760
+ location['y'] = (this.maps.projectionType === 'Mercator') || layer.geometryType === 'Normal' ? location['y'] : (-location['y']);
9675
9761
  if (!isNullOrUndefined(this.maps.format) && !isNaN(parseFloat(text))) {
9676
9762
  if (this.maps.useGroupingSeparator) {
9677
9763
  text = Internalize(this.maps, parseFloat(text));
@@ -9685,10 +9771,6 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9685
9771
  width: dataLabel.border.width, opacity: dataLabel.border.opacity }, datalabel: dataLabel,
9686
9772
  fill: dataLabel.fill, template: dataLabel.template, text: text
9687
9773
  };
9688
- if (this.maps.isBlazor) {
9689
- var maps = eventargs_1.maps, datalabel = eventargs_1.datalabel, blazorEventArgs = __rest$3(eventargs_1, ["maps", "datalabel"]);
9690
- eventargs_1 = blazorEventArgs;
9691
- }
9692
9774
  this.maps.trigger('dataLabelRendering', eventargs_1, function (labelArgs) {
9693
9775
  if (eventargs_1.cancel) {
9694
9776
  return;
@@ -9716,7 +9798,7 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9716
9798
  if (!isPoint && position.length > 5 && (shapeData['geometry']['type'] !== 'MultiPolygon') &&
9717
9799
  (shapeData['type'] !== 'MultiPolygon')) {
9718
9800
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
9719
- var location1 = findMidPointOfPolygon(position, projectionType);
9801
+ var location1 = findMidPointOfPolygon(position, projectionType, layer.geometryType);
9720
9802
  if (zoomLabelsPosition && scaleZoomValue > 1 && !_this.maps.zoomNotApplied && eventargs_1.template === '') {
9721
9803
  location1['x'] = ((_this.maps.zoomLabelPositions[index]['location']['x'] + zoomTransPoint['x']) * scale);
9722
9804
  location1['y'] = ((_this.maps.zoomLabelPositions[index]['location']['y'] + zoomTransPoint['y']) * scale);
@@ -9743,7 +9825,9 @@ var DataLabel = /** @__PURE__ @class */ (function () {
9743
9825
  }
9744
9826
  else {
9745
9827
  if (dataLabelSettings.smartLabelMode === 'Trim') {
9746
- trimmedLable = textTrim(width, text, style);
9828
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9829
+ var textType = typeof text === 'number' ? text.toString() : text;
9830
+ trimmedLable = textTrim(width, textType, style);
9747
9831
  elementSize = measureText(trimmedLable, style);
9748
9832
  options = new TextOption(labelId, textLocation.x, textLocation.y, 'middle', trimmedLable, '', '');
9749
9833
  }
@@ -10463,6 +10547,7 @@ var Legend = /** @__PURE__ @class */ (function () {
10463
10547
  var shapeSize = new Size(legend.shapeWidth, legend.shapeHeight);
10464
10548
  var textOptions;
10465
10549
  var render = map.renderer;
10550
+ var legendShape = legend.shape;
10466
10551
  if (page >= 0 && page < this.totalPages.length) {
10467
10552
  if (querySelector(this.legendGroup.id, this.maps.element.id)) {
10468
10553
  remove(querySelector(this.legendGroup.id, this.maps.element.id));
@@ -10487,21 +10572,35 @@ var Legend = /** @__PURE__ @class */ (function () {
10487
10572
  var textLocation = collection['Text'];
10488
10573
  var imageUrl = ((isNullOrUndefined(collection['ImageSrc'])) ? legend.shape : collection['ImageSrc']);
10489
10574
  var renderOptions_1 = new PathOption(shapeId, collection['Fill'], strokeWidth, strokeColor, legend.opacity, isNullOrUndefined(shapeBorder.opacity) ? legend.opacity : shapeBorder.opacity, '');
10490
- legend.textStyle.color = (legend.textStyle.color !== null) ? legend.textStyle.color :
10575
+ var legendTextStyle = {
10576
+ fontFamily: legend.textStyle.fontFamily, fontStyle: legend.textStyle.fontStyle,
10577
+ fontWeight: legend.textStyle.fontWeight, size: legend.textStyle.size, color: legend.textStyle.color, opacity: legend.textStyle.opacity
10578
+ };
10579
+ legendTextStyle.color = (legendTextStyle.color !== null) ? legendTextStyle.color :
10491
10580
  this.maps.themeStyle.legendTextColor;
10492
- legend.textStyle.fontFamily = map.themeStyle.fontFamily || legend.textStyle.fontFamily;
10493
- legend.textStyle.size = map.themeStyle.legendFontSize || legend.textStyle.size;
10581
+ legendTextStyle.fontFamily = map.themeStyle.fontFamily || legendTextStyle.fontFamily;
10582
+ legendTextStyle.size = map.themeStyle.legendFontSize || legendTextStyle.size;
10494
10583
  if (i === 0) {
10495
10584
  this.renderLegendBorder();
10496
10585
  }
10497
- legendElement.appendChild(drawSymbol(shapeLocation, shape, shapeSize, collection['ImageSrc'], renderOptions_1));
10586
+ if (legend.type === 'Markers' && legend.useMarkerShape) {
10587
+ var legendShapeData = this.legendCollection[collection['idIndex']].data[0];
10588
+ var marker$$1 = map.layers[legendShapeData['layerIndex']].markerSettings[legendShapeData['markerIndex']];
10589
+ legendShape = !isNullOrUndefined(marker$$1.dataSource[legendShapeData['dataIndex']][marker$$1['shapeValuePath']]) && marker$$1.dataSource[legendShapeData['dataIndex']][marker$$1['shapeValuePath']] !== '' ? marker$$1.dataSource[legendShapeData['dataIndex']][marker$$1['shapeValuePath']] : marker$$1.shape;
10590
+ }
10591
+ if (legendShape === "Balloon") {
10592
+ legendElement.appendChild(drawBalloon(map, renderOptions_1, shapeSize, { x: shapeLocation.x, y: (shapeLocation.y + 5) }, 'Legend'));
10593
+ }
10594
+ else {
10595
+ legendElement.appendChild(drawSymbol(shapeLocation, legendShape, shapeSize, collection['ImageSrc'], renderOptions_1));
10596
+ }
10498
10597
  var legendRectSize = collection['Rect']['x'] + collection['Rect']['width'];
10499
10598
  if (legendRectSize > this.legendBorderRect.width) {
10500
- var trimmedText = this.legendTextTrim(this.legendBorderRect.width, legendText, legend.textStyle, legendRectSize);
10599
+ var trimmedText = this.legendTextTrim(this.legendBorderRect.width, legendText, legendTextStyle, legendRectSize);
10501
10600
  legendText = trimmedText;
10502
10601
  }
10503
10602
  textOptions = new TextOption(textId, textLocation.x, textLocation.y, 'start', legendText, '', '');
10504
- renderTextElement(textOptions, legend.textStyle, legend.textStyle.color, legendElement);
10603
+ renderTextElement(textOptions, legendTextStyle, legendTextStyle.color, legendElement);
10505
10604
  this.legendGroup.appendChild(legendElement);
10506
10605
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10507
10606
  if (i === (this.totalPages[page]['Collection'].length - 1)) {
@@ -10569,7 +10668,7 @@ var Legend = /** @__PURE__ @class */ (function () {
10569
10668
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10570
10669
  var collection = this.maps.legendModule.legendCollection;
10571
10670
  var length;
10572
- var multiSelectEnable = this.maps.layers[collection[0]['data'][0]['layerIndex']].selectionSettings.enableMultiSelect;
10671
+ var multiSelectEnable = !isNullOrUndefined(collection[0]['data'][0]['layerIndex']) ? this.maps.layers[collection[0]['data'][0]['layerIndex']].selectionSettings.enableMultiSelect : false;
10573
10672
  var selectLength = 0;
10574
10673
  var interactProcess = true;
10575
10674
  var idIndex = parseFloat(targetElement.id.charAt(targetElement.id.length - 1));
@@ -11182,7 +11281,10 @@ var Legend = /** @__PURE__ @class */ (function () {
11182
11281
  var map = this.maps;
11183
11282
  var legend = map.legendSettings;
11184
11283
  var legendTitle = legend.title.text;
11185
- var textStyle = legend.titleStyle;
11284
+ var textStyle = {
11285
+ fontFamily: legend.titleStyle.fontFamily, fontStyle: legend.titleStyle.fontStyle,
11286
+ fontWeight: legend.titleStyle.fontWeight, size: legend.titleStyle.size, color: legend.titleStyle.color, opacity: legend.titleStyle.opacity
11287
+ };
11186
11288
  var textOptions;
11187
11289
  var spacing = 10;
11188
11290
  var trimTitle = textTrim((this.legendItemRect.width + (spacing * 2)), legendTitle, textStyle);
@@ -11201,6 +11303,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11201
11303
  map.svgObject.appendChild(this.legendGroup);
11202
11304
  if (legendTitle) {
11203
11305
  textStyle.color = (textStyle.color !== null) ? textStyle.color : this.maps.themeStyle.legendTitleFontColor;
11306
+ textStyle.fontFamily = !isNullOrUndefined(textStyle.fontFamily) ? textStyle.fontFamily : this.maps.themeStyle.fontFamily;
11204
11307
  textOptions = new TextOption(map.element.id + '_LegendTitle', (this.legendItemRect.x) + (this.legendItemRect.width / 2), this.legendItemRect.y - (textSize.height / 2) - spacing / 2, 'middle', trimTitle, '');
11205
11308
  renderTextElement(textOptions, textStyle, textStyle.color, this.legendGroup);
11206
11309
  }
@@ -11307,21 +11410,25 @@ var Legend = /** @__PURE__ @class */ (function () {
11307
11410
  }
11308
11411
  else {
11309
11412
  newData.push({ layerIndex: layerIndex, markerIndex: markerIndex, dataIndex: dataIndex, value: legendFill, name: text,
11310
- shape: !isNullOrUndefined(marker$$1.shapeValuePath) ? data[marker$$1.shapeValuePath] : marker$$1.shape });
11413
+ shape: (!isNullOrUndefined(marker$$1.shapeValuePath) && !isNullOrUndefined(data[marker$$1.shapeValuePath]) && data[marker$$1.shapeValuePath] !== '') ? data[marker$$1.shapeValuePath] : (_this.maps.legendSettings.useMarkerShape ? marker$$1.shape : _this.maps.legendSettings.shape) });
11311
11414
  _this.getOverallLegendItemsCollection(text, legendFill, newData, showLegend);
11312
11415
  }
11313
11416
  }
11314
11417
  });
11315
11418
  });
11316
11419
  };
11420
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11317
11421
  Legend.prototype.getMarkerLegendData = function (layerIndex, text, legendFill) {
11318
11422
  var _this = this;
11423
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11319
11424
  var legendData = [];
11320
11425
  this.maps.layers[layerIndex].markerSettings.map(function (markerSettings, markerIndex) {
11426
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11321
11427
  var markerData = markerSettings.dataSource;
11428
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11322
11429
  Array.prototype.forEach.call(markerData, function (data, dataIndex) {
11323
11430
  var marker$$1 = _this.maps.layers[layerIndex].markerSettings[markerIndex];
11324
- if ((text === data[marker$$1.legendText] || text === '') && legendFill == data[marker$$1.colorValuePath]) {
11431
+ if ((text === data[marker$$1.legendText] || text === '') && legendFill === data[marker$$1.colorValuePath]) {
11325
11432
  legendData.push({ layerIndex: layerIndex, markerIndex: markerIndex, dataIndex: dataIndex, value: legendFill, name: text,
11326
11433
  shape: !isNullOrUndefined(marker$$1.shapeValuePath) ? data[marker$$1.shapeValuePath] : marker$$1.shape });
11327
11434
  }
@@ -11683,7 +11790,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11683
11790
  shape = this.legendCollection[legendIndex]['data'][i];
11684
11791
  mapElement = this.maps.legendSettings.type === 'Bubbles' ? querySelector(this.maps.element.id + '_LayerIndex_' + shape['layerIndex'] +
11685
11792
  '_BubbleIndex_' + j + '_dataIndex_' + shape['dataIndex'], this.maps.element.id) : querySelector(this.maps.element.id + '_LayerIndex_' + shape['layerIndex'] +
11686
- '_MarkerIndex_' + j + '_dataIndex_' + shape['dataIndex'], this.maps.element.id);
11793
+ '_MarkerIndex_' + shape['markerIndex'] + '_dataIndex_' + shape['dataIndex'], this.maps.element.id);
11687
11794
  if (!isNullOrUndefined(shape['shape']) && shape['shape'] === 'Balloon') {
11688
11795
  mapElement = mapElement.children[0];
11689
11796
  }
@@ -11692,7 +11799,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11692
11799
  mapElement.setAttribute('fill', this.maps.layers[k].shapeSettings.fill);
11693
11800
  mapElement.setAttribute('stroke', this.maps.layers[k].shapeSettings.border.color);
11694
11801
  mapElement.setAttribute('fill-opacity', (this.maps.layers[k].shapeSettings.opacity).toString());
11695
- mapElement.setAttribute('stroke-width', (this.maps.layers[k].shapeSettings.border.width).toString());
11802
+ mapElement.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.width) ? 0 : this.maps.layers[k].shapeSettings.border.width).toString());
11696
11803
  mapElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.opacity) ?
11697
11804
  this.maps.layers[k].shapeSettings.opacity :
11698
11805
  this.maps.layers[k].shapeSettings.border.opacity).toString());
@@ -11707,6 +11814,9 @@ var Legend = /** @__PURE__ @class */ (function () {
11707
11814
  if (targetEle !== null) {
11708
11815
  legendShapeId = querySelector(this.maps.element.id + '_Legend_Shape_Index_' + legendIndex, this.maps.element.id);
11709
11816
  legendShapeId.setAttribute('fill', '#E5E5E5');
11817
+ if (this.maps.legendSettings.shape === 'HorizontalLine' || this.maps.legendSettings.shape === 'VerticalLine' || this.maps.legendSettings.shape === 'Cross') {
11818
+ legendShapeId.setAttribute('stroke', '#E5E5E5');
11819
+ }
11710
11820
  legendTextId = querySelector(this.maps.element.id + '_Legend_Text_Index_' + legendIndex, this.maps.element.id);
11711
11821
  legendTextId.setAttribute('fill', '#E5E5E5');
11712
11822
  }
@@ -11721,6 +11831,9 @@ var Legend = /** @__PURE__ @class */ (function () {
11721
11831
  if (targetEle !== null) {
11722
11832
  legendShapeId = querySelector(this.maps.element.id + '_Legend_Shape_Index_' + legendIndex, this.maps.element.id);
11723
11833
  legendShapeId.setAttribute('fill', this.legendCollection[legendIndex]['fill']);
11834
+ if (this.maps.legendSettings.shape === 'HorizontalLine' || this.maps.legendSettings.shape === 'VerticalLine' || this.maps.legendSettings.shape === 'Cross') {
11835
+ legendShapeId.setAttribute('stroke', this.legendCollection[legendIndex]['fill']);
11836
+ }
11724
11837
  legendTextId = querySelector(this.maps.element.id + '_Legend_Text_Index_' + legendIndex, this.maps.element.id);
11725
11838
  legendTextId.setAttribute('fill', '#757575');
11726
11839
  }
@@ -11755,7 +11868,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11755
11868
  layerElement.setAttribute('fill', this.maps.layers[j].shapeSettings.fill);
11756
11869
  layerElement.setAttribute('fill-opacity', (this.maps.layers[j].shapeSettings.opacity).toString());
11757
11870
  layerElement.setAttribute('stroke', this.maps.layers[j].shapeSettings.border.color);
11758
- layerElement.setAttribute('stroke-width', (this.maps.layers[j].shapeSettings.border.width).toString());
11871
+ layerElement.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[j].shapeSettings.border.width) ? 0 : this.maps.layers[j].shapeSettings.border.width).toString());
11759
11872
  layerElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[j].shapeSettings.border.opacity) ?
11760
11873
  this.maps.layers[j].shapeSettings.opacity :
11761
11874
  this.maps.layers[j].shapeSettings.border.opacity).toString());
@@ -11785,7 +11898,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11785
11898
  layerElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[j].shapeSettings.border.opacity) ?
11786
11899
  this.maps.layers[j].shapeSettings.opacity :
11787
11900
  this.maps.layers[j].shapeSettings.border.opacity).toString());
11788
- layerElement.setAttribute('stroke-width', (this.maps.layers[j].shapeSettings.border.width).toString());
11901
+ layerElement.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[j].shapeSettings.border.width) ? 0 : this.maps.layers[j].shapeSettings.border.width).toString());
11789
11902
  layerElement.setAttribute('fill-opacity', (this.maps.layers[j].shapeSettings.opacity).toString());
11790
11903
  layerElement.setAttribute('stroke', this.maps.layers[j].shapeSettings.border.color);
11791
11904
  if (targetEle !== null) {
@@ -11805,7 +11918,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11805
11918
  targetEle.id.indexOf(this.maps.element.id + '_Legend_Index') !== -1) && this.maps.legendSettings.visible &&
11806
11919
  targetEle.id.indexOf('_Text') === -1) {
11807
11920
  var LegendInteractive = void 0;
11808
- var legendIndex = parseFloat(targetEle.id.substr((this.maps.element.id + '_Legend_Index_').length));
11921
+ var legendIndex = parseFloat(targetEle.id.split(this.maps.element.id + '_Legend_Index_')[1]);
11809
11922
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11810
11923
  var mapdata = void 0;
11811
11924
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -11826,7 +11939,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11826
11939
  if (this.maps.legendSettings.toggleLegendSettings.applyShapeSettings) {
11827
11940
  LegendInteractive.setAttribute('fill', this.maps.layers[k].shapeSettings.fill);
11828
11941
  LegendInteractive.setAttribute('stroke', this.maps.layers[k].shapeSettings.border.color);
11829
- LegendInteractive.setAttribute('stroke-width', (this.maps.layers[k].shapeSettings.border.width).toString());
11942
+ LegendInteractive.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.width) ? 0 : this.maps.layers[k].shapeSettings.border.width).toString());
11830
11943
  LegendInteractive.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.opacity) ?
11831
11944
  this.maps.layers[k].shapeSettings.opacity :
11832
11945
  this.maps.layers[k].shapeSettings.border.opacity).toString());
@@ -11890,7 +12003,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11890
12003
  mapLegendElement.setAttribute('fill', this.maps.layers[0].shapeSettings.fill);
11891
12004
  mapLegendElement.setAttribute('stroke', this.maps.layers[0].shapeSettings.border.color);
11892
12005
  mapLegendElement.setAttribute('fill-opacity', (this.maps.layers[k].shapeSettings.opacity).toString());
11893
- mapLegendElement.setAttribute('stroke-width', (this.maps.layers[k].shapeSettings.border.width).toString());
12006
+ mapLegendElement.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.width) ? 0 : this.maps.layers[k].shapeSettings.border.width).toString());
11894
12007
  mapLegendElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.opacity) ?
11895
12008
  this.maps.layers[k].shapeSettings.opacity :
11896
12009
  this.maps.layers[k].shapeSettings.border.opacity).toString());
@@ -11917,7 +12030,7 @@ var Legend = /** @__PURE__ @class */ (function () {
11917
12030
  this.maps.toggledShapeElementId.splice(toggledShapeIdIndex, 1);
11918
12031
  }
11919
12032
  mapLegendElement.setAttribute('fill-opacity', (this.maps.layers[k].shapeSettings.opacity).toString());
11920
- mapLegendElement.setAttribute('stroke-width', (this.maps.layers[k].shapeSettings.border.width).toString());
12033
+ mapLegendElement.setAttribute('stroke-width', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.width) ? 0 : this.maps.layers[k].shapeSettings.border.width).toString());
11921
12034
  mapLegendElement.setAttribute('stroke', this.maps.layers[0].shapeSettings.border.color);
11922
12035
  mapLegendElement.setAttribute('stroke-opacity', (isNullOrUndefined(this.maps.layers[k].shapeSettings.border.opacity) ?
11923
12036
  this.maps.layers[k].shapeSettings.opacity : this.maps.layers[k].shapeSettings.border.opacity).toString());
@@ -12045,15 +12158,6 @@ var Legend = /** @__PURE__ @class */ (function () {
12045
12158
  return Legend;
12046
12159
  }());
12047
12160
 
12048
- var __rest$4 = (undefined && undefined.__rest) || function (s, e) {
12049
- var t = {};
12050
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
12051
- t[p] = s[p];
12052
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
12053
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
12054
- t[p[i]] = s[p[i]];
12055
- return t;
12056
- };
12057
12161
  /**
12058
12162
  * Highlight module class
12059
12163
  */
@@ -12202,14 +12306,14 @@ var Highlight = /** @__PURE__ @class */ (function () {
12202
12306
  isMarkerSelect = this.maps.layers[layerIndex].markerSettings[marker$$1].highlightSettings.enable;
12203
12307
  }
12204
12308
  var border = {
12205
- color: this.highlightSettings.border.color,
12206
- width: this.highlightSettings.border.width / (isMarkerSelect ? 1 : this.maps.scale),
12309
+ color: (targetEle.parentElement.id.indexOf('LineString') === -1) ? this.highlightSettings.border.color : (this.highlightSettings.border.color || this.highlightSettings.fill),
12310
+ width: (targetEle.parentElement.id.indexOf('LineString') === -1) ? (this.highlightSettings.border.width / (isMarkerSelect ? 1 : this.maps.scale)) : (this.highlightSettings.border.width / this.maps.scale),
12207
12311
  opacity: this.highlightSettings.border.opacity
12208
12312
  };
12209
12313
  var eventArgs = {
12210
12314
  opacity: this.highlightSettings.opacity,
12211
- fill: targetEle.id.indexOf('NavigationIndex') === -1 ? !isNullOrUndefined(this.highlightSettings.fill)
12212
- ? this.highlightSettings.fill : targetEle.getAttribute('fill') : 'none',
12315
+ fill: (targetEle.parentElement.id.indexOf('LineString') === -1) ? (targetEle.id.indexOf('NavigationIndex') === -1 ? !isNullOrUndefined(this.highlightSettings.fill)
12316
+ ? this.highlightSettings.fill : targetEle.getAttribute('fill') : 'none') : 'transparent',
12213
12317
  border: border,
12214
12318
  name: itemHighlight,
12215
12319
  target: targetEle.id,
@@ -12218,10 +12322,6 @@ var Highlight = /** @__PURE__ @class */ (function () {
12218
12322
  data: data,
12219
12323
  maps: this.maps
12220
12324
  };
12221
- if (this.maps.isBlazor) {
12222
- var shapeData_1 = eventArgs.shapeData, maps = eventArgs.maps, blazorEventArgs = __rest$4(eventArgs, ["shapeData", "maps"]);
12223
- eventArgs = blazorEventArgs;
12224
- }
12225
12325
  this.maps.trigger(itemHighlight, eventArgs, function () {
12226
12326
  eventArgs.border.opacity = isNullOrUndefined(_this.highlightSettings.border.opacity) ? _this.highlightSettings.opacity : _this.highlightSettings.border.opacity;
12227
12327
  _this.highlightMap(targetEle, eventArgs);
@@ -12275,15 +12375,6 @@ var Highlight = /** @__PURE__ @class */ (function () {
12275
12375
  return Highlight;
12276
12376
  }());
12277
12377
 
12278
- var __rest$5 = (undefined && undefined.__rest) || function (s, e) {
12279
- var t = {};
12280
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
12281
- t[p] = s[p];
12282
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
12283
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
12284
- t[p[i]] = s[p[i]];
12285
- return t;
12286
- };
12287
12378
  /**
12288
12379
  * Selection module class
12289
12380
  */
@@ -12405,15 +12496,16 @@ var Selection = /** @__PURE__ @class */ (function () {
12405
12496
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12406
12497
  Selection.prototype.selectMap = function (targetElement, shapeData, data) {
12407
12498
  var _this = this;
12499
+ var layerIndex = parseInt(targetElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
12408
12500
  var selectionsettings = this.selectionsettings;
12409
12501
  var border = {
12410
- color: this.selectionsettings.border.color,
12411
- width: this.selectionsettings.border.width / (this.selectionType === 'Marker' ? 1 : this.maps.scale),
12502
+ color: (targetElement.parentElement.id.indexOf('LineString') === -1) ? this.selectionsettings.border.color : (this.selectionsettings.border.color || this.selectionsettings.fill),
12503
+ width: (targetElement.parentElement.id.indexOf('LineString') === -1) ? (this.selectionsettings.border.width / (this.selectionType === 'Marker' ? 1 : this.maps.scale)) : (this.selectionsettings.border.width / this.maps.scale),
12412
12504
  opacity: this.selectionsettings.border.opacity
12413
12505
  };
12414
12506
  var eventArgs = {
12415
12507
  opacity: this.selectionsettings.opacity,
12416
- fill: this.selectionType !== 'navigationline' ? this.selectionsettings.fill : 'none',
12508
+ fill: (targetElement.parentElement.id.indexOf('LineString') === -1) ? (this.selectionType !== 'navigationline' ? this.selectionsettings.fill : 'none') : 'transparent',
12417
12509
  border: border,
12418
12510
  name: itemSelection,
12419
12511
  target: targetElement.id,
@@ -12422,10 +12514,6 @@ var Selection = /** @__PURE__ @class */ (function () {
12422
12514
  data: data,
12423
12515
  maps: this.maps
12424
12516
  };
12425
- if (this.maps.isBlazor) {
12426
- var shapeData_1 = eventArgs.shapeData, maps = eventArgs.maps, blazorEventArgs = __rest$5(eventArgs, ["shapeData", "maps"]);
12427
- eventArgs = blazorEventArgs;
12428
- }
12429
12517
  this.maps.trigger('itemSelection', eventArgs, function (observedArgs) {
12430
12518
  eventArgs.border.opacity = isNullOrUndefined(_this.selectionsettings.border.opacity) ? _this.selectionsettings.opacity : _this.selectionsettings.border.opacity;
12431
12519
  if (!eventArgs.cancel) {
@@ -12440,9 +12528,9 @@ var Selection = /** @__PURE__ @class */ (function () {
12440
12528
  }
12441
12529
  if (targetElement.id.indexOf('NavigationIndex') > -1) {
12442
12530
  var index = parseInt(targetElement.id.split('_NavigationIndex_')[1].split('_')[0], 10);
12443
- var layerIndex = parseInt(targetElement.parentElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
12444
- targetElement.setAttribute('stroke-width', _this.maps.layers[layerIndex].navigationLineSettings[index].width.toString());
12445
- targetElement.setAttribute('stroke', _this.maps.layers[layerIndex].navigationLineSettings[index].color);
12531
+ var layerIndex_1 = parseInt(targetElement.parentElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
12532
+ targetElement.setAttribute('stroke-width', _this.maps.layers[layerIndex_1].navigationLineSettings[index].width.toString());
12533
+ targetElement.setAttribute('stroke', _this.maps.layers[layerIndex_1].navigationLineSettings[index].color);
12446
12534
  }
12447
12535
  }
12448
12536
  else {
@@ -12468,9 +12556,9 @@ var Selection = /** @__PURE__ @class */ (function () {
12468
12556
  }
12469
12557
  if (ele.id.indexOf('NavigationIndex') > -1) {
12470
12558
  var index = parseInt(targetElement.id.split('_NavigationIndex_')[1].split('_')[0], 10);
12471
- var layerIndex = parseInt(targetElement.parentElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
12472
- ele.setAttribute('stroke-width', _this.maps.layers[layerIndex].navigationLineSettings[index].width.toString());
12473
- ele.setAttribute('stroke', _this.maps.layers[layerIndex].navigationLineSettings[index].color);
12559
+ var layerIndex_2 = parseInt(targetElement.parentElement.id.split('_LayerIndex_')[1].split('_')[0], 10);
12560
+ ele.setAttribute('stroke-width', _this.maps.layers[layerIndex_2].navigationLineSettings[index].width.toString());
12561
+ ele.setAttribute('stroke', _this.maps.layers[layerIndex_2].navigationLineSettings[index].color);
12474
12562
  }
12475
12563
  }
12476
12564
  if (!getElement(_this.selectionType + 'selectionMap')) {
@@ -12611,8 +12699,6 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
12611
12699
  if (istooltipRender) {
12612
12700
  if (targetId.indexOf('_shapeIndex_') > -1) {
12613
12701
  option = layer.tooltipSettings;
12614
- option.textStyle.fontFamily = this.maps.themeStyle.fontFamily || option.textStyle.fontFamily;
12615
- option.textStyle.opacity = this.maps.themeStyle.tooltipTextOpacity || option.textStyle.opacity;
12616
12702
  var shape = parseInt(targetId.split('_shapeIndex_')[1].split('_')[0], 10);
12617
12703
  if (isNullOrUndefined(layer.layerData) || isNullOrUndefined(layer.layerData[shape])) {
12618
12704
  return;
@@ -12729,9 +12815,13 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
12729
12815
  option.template = option.template[Object.keys(option.template)[0]];
12730
12816
  }
12731
12817
  templateData = this.setTooltipContent(option, templateData);
12818
+ var tooltipTextStyle = {
12819
+ color: option.textStyle.color, fontFamily: option.textStyle.fontFamily, fontStyle: option.textStyle.fontStyle,
12820
+ fontWeight: option.textStyle.fontWeight, opacity: option.textStyle.opacity, size: option.textStyle.size
12821
+ };
12732
12822
  var tooltipOption = {
12733
12823
  location: location, text: tooltipContent, data: templateData,
12734
- textStyle: option.textStyle,
12824
+ textStyle: tooltipTextStyle,
12735
12825
  template: option.template
12736
12826
  };
12737
12827
  tooltipArgs = {
@@ -12741,131 +12831,66 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
12741
12831
  maps: this.maps,
12742
12832
  element: target, eventArgs: e
12743
12833
  };
12744
- if (this.maps.isBlazor) {
12745
- var tootipOption_1 = {
12746
- location: location
12747
- };
12748
- var blazorArgs_1 = {
12749
- name: tooltipRender,
12750
- cancel: false,
12751
- options: tootipOption_1,
12752
- data: templateData,
12753
- textStyle: tooltipArgs.options['textStyle'],
12754
- fill: tooltipArgs.fill,
12755
- element: target, eventArgs: e
12756
- };
12757
- this.maps.trigger(tooltipRender, blazorArgs_1, function (args) {
12758
- if (!blazorArgs_1.cancel && option.visible && !isNullOrUndefined(currentData) &&
12759
- (targetId.indexOf('_cluster_') === -1 && targetId.indexOf('_dataLabel_') === -1)) {
12760
- if (targetId.indexOf('MarkerIndex') > 0) {
12761
-
12762
- }
12763
- else if (targetId.indexOf('BubbleIndex') > 0) {
12764
-
12765
- }
12766
- else {
12767
-
12768
- }
12769
- _this.maps['isProtectedOnChange'] = true;
12770
- if (blazorArgs_1.cancel) {
12771
- _this.svgTooltip = new Tooltip({
12772
- enable: true,
12773
- header: '',
12774
- content: [currentData.toString()],
12775
- shapes: [],
12776
- location: tootipOption_1.location,
12777
- palette: [markerFill],
12778
- areaBounds: _this.maps.mapAreaRect,
12779
- textStyle: tooltipArgs.options['textStyle'],
12780
- availableSize: _this.maps.availableSize,
12781
- fill: tooltipArgs.fill
12782
- });
12783
- }
12784
- else {
12785
- _this.svgTooltip = new Tooltip({
12786
- enable: true,
12787
- header: '',
12788
- content: [currentData.toString()],
12789
- shapes: [],
12790
- location: tootipOption_1.location,
12791
- palette: [markerFill],
12792
- areaBounds: _this.maps.mapAreaRect,
12793
- textStyle: blazorArgs_1.textStyle,
12794
- availableSize: _this.maps.availableSize,
12795
- fill: blazorArgs_1.fill
12796
- });
12797
- }
12798
- var tooltipElement = tooltipEle;
12799
- _this.svgTooltip.opacity = _this.maps.themeStyle.tooltipFillOpacity || _this.svgTooltip.opacity;
12800
- _this.svgTooltip.appendTo(tooltipElement);
12801
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12802
- _this.maps.renderReactTemplates();
12834
+ this.maps.trigger(tooltipRender, tooltipArgs, function (args) {
12835
+ if (!tooltipArgs.cancel && option.visible && !isNullOrUndefined(currentData) &&
12836
+ (targetId.indexOf('_cluster_') === -1 && targetId.indexOf('_dataLabel_') === -1)) {
12837
+ _this.maps['isProtectedOnChange'] = true;
12838
+ tooltipArgs.options['textStyle']['color'] = tooltipArgs.options['textStyle']['color']
12839
+ || _this.maps.themeStyle.tooltipFontColor;
12840
+ tooltipArgs.options['textStyle']['fontFamily'] = tooltipArgs.options['textStyle']['fontFamily']
12841
+ || _this.maps.themeStyle.fontFamily;
12842
+ tooltipArgs.options['textStyle']['opacity'] = tooltipArgs.options['textStyle']['opacity']
12843
+ || _this.maps.themeStyle.tooltipTextOpacity;
12844
+ if (tooltipArgs.cancel) {
12845
+ _this.svgTooltip = new Tooltip({
12846
+ enable: true,
12847
+ header: '',
12848
+ data: option['data'],
12849
+ template: option['template'],
12850
+ content: [currentData.toString()],
12851
+ shapes: [],
12852
+ location: option['location'],
12853
+ palette: [markerFill],
12854
+ areaBounds: _this.maps.mapAreaRect,
12855
+ textStyle: option['textStyle'],
12856
+ availableSize: _this.maps.availableSize,
12857
+ fill: option.fill || _this.maps.themeStyle.tooltipFillColor
12858
+ });
12803
12859
  }
12804
12860
  else {
12805
- _this.removeTooltip();
12806
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12807
- _this.maps.clearTemplate();
12808
- }
12809
- });
12810
- }
12811
- else {
12812
- this.maps.trigger(tooltipRender, tooltipArgs, function (args) {
12813
- if (!tooltipArgs.cancel && option.visible && !isNullOrUndefined(currentData) &&
12814
- (targetId.indexOf('_cluster_') === -1 && targetId.indexOf('_dataLabel_') === -1)) {
12815
- _this.maps['isProtectedOnChange'] = true;
12816
- tooltipArgs.options['textStyle']['color'] = tooltipArgs.options['textStyle']['color']
12817
- || _this.maps.themeStyle.tooltipFontColor;
12818
- if (tooltipArgs.cancel) {
12819
- _this.svgTooltip = new Tooltip({
12820
- enable: true,
12821
- header: '',
12822
- data: option['data'],
12823
- template: option['template'],
12824
- content: [currentData.toString()],
12825
- shapes: [],
12826
- location: option['location'],
12827
- palette: [markerFill],
12828
- areaBounds: _this.maps.mapAreaRect,
12829
- textStyle: option['textStyle'],
12830
- availableSize: _this.maps.availableSize,
12831
- fill: option.fill || _this.maps.themeStyle.tooltipFillColor
12832
- });
12833
- }
12834
- else {
12835
- _this.svgTooltip = new Tooltip({
12836
- enable: true,
12837
- header: '',
12838
- data: tooltipArgs.options['data'],
12839
- template: tooltipArgs.options['template'],
12840
- content: [currentData.toString()],
12841
- shapes: [],
12842
- location: tooltipArgs.options['location'],
12843
- palette: [markerFill],
12844
- areaBounds: _this.maps.mapAreaRect,
12845
- textStyle: tooltipArgs.options['textStyle'],
12846
- availableSize: _this.maps.availableSize,
12847
- fill: tooltipArgs.fill || _this.maps.themeStyle.tooltipFillColor
12848
- });
12849
- }
12850
- _this.svgTooltip.opacity = _this.maps.themeStyle.tooltipFillOpacity || _this.svgTooltip.opacity;
12851
- _this.svgTooltip.appendTo(tooltipEle);
12852
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12853
- _this.maps.renderReactTemplates();
12854
- tooltipTemplateElement = document.getElementById(_this.maps.element.id + '_mapsTooltip');
12855
- if (tooltipTemplateElement !== null && tooltipTemplateElement.innerHTML.indexOf('href') !== -1
12856
- && tooltipTemplateElement.innerHTML.indexOf('</a>') !== -1) {
12857
- var templateStyle = tooltipTemplateElement.getAttribute('style');
12858
- templateStyle = templateStyle.replace('pointer-events: none;', 'position-events:all;');
12859
- tooltipTemplateElement.setAttribute('style', templateStyle);
12860
- }
12861
+ _this.svgTooltip = new Tooltip({
12862
+ enable: true,
12863
+ header: '',
12864
+ data: tooltipArgs.options['data'],
12865
+ template: tooltipArgs.options['template'],
12866
+ content: [currentData.toString()],
12867
+ shapes: [],
12868
+ location: tooltipArgs.options['location'],
12869
+ palette: [markerFill],
12870
+ areaBounds: _this.maps.mapAreaRect,
12871
+ textStyle: tooltipArgs.options['textStyle'],
12872
+ availableSize: _this.maps.availableSize,
12873
+ fill: tooltipArgs.fill || _this.maps.themeStyle.tooltipFillColor
12874
+ });
12861
12875
  }
12862
- else {
12863
- _this.removeTooltip();
12864
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12865
- _this.maps.clearTemplate();
12876
+ _this.svgTooltip.opacity = _this.maps.themeStyle.tooltipFillOpacity || _this.svgTooltip.opacity;
12877
+ _this.svgTooltip.appendTo(tooltipEle);
12878
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12879
+ _this.maps.renderReactTemplates();
12880
+ tooltipTemplateElement = document.getElementById(_this.maps.element.id + '_mapsTooltip');
12881
+ if (tooltipTemplateElement !== null && tooltipTemplateElement.innerHTML.indexOf('href') !== -1
12882
+ && tooltipTemplateElement.innerHTML.indexOf('</a>') !== -1) {
12883
+ var templateStyle = tooltipTemplateElement.getAttribute('style');
12884
+ templateStyle = templateStyle.replace('pointer-events: none;', 'position-events:all;');
12885
+ tooltipTemplateElement.setAttribute('style', templateStyle);
12866
12886
  }
12867
- });
12868
- }
12887
+ }
12888
+ else {
12889
+ _this.removeTooltip();
12890
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12891
+ _this.maps.clearTemplate();
12892
+ }
12893
+ });
12869
12894
  if (this.svgTooltip) {
12870
12895
  this.maps.trigger('tooltipRenderComplete', {
12871
12896
  cancel: false, name: 'tooltipRenderComplete', maps: this.maps, options: tooltipOption,
@@ -12998,15 +13023,6 @@ var MapsTooltip = /** @__PURE__ @class */ (function () {
12998
13023
  return MapsTooltip;
12999
13024
  }());
13000
13025
 
13001
- var __rest$6 = (undefined && undefined.__rest) || function (s, e) {
13002
- var t = {};
13003
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13004
- t[p] = s[p];
13005
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
13006
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
13007
- t[p[i]] = s[p[i]];
13008
- return t;
13009
- };
13010
13026
  /**
13011
13027
  * Zoom module used to process the zoom for maps
13012
13028
  */
@@ -13107,8 +13123,10 @@ var Zoom = /** @__PURE__ @class */ (function () {
13107
13123
  if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
13108
13124
  document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
13109
13125
  }
13126
+ this.markerLineAnimation(map);
13110
13127
  map.mapLayerPanel.generateTiles(newZoomFactor, map.tileTranslatePoint, type + 'wheel', null, position);
13111
13128
  var element1 = document.getElementById(this.maps.element.id + '_tiles');
13129
+ var animationDuration = this.maps.layersCollection[0].animationDuration;
13112
13130
  setTimeout(function () {
13113
13131
  // if (type === 'ZoomOut') {
13114
13132
  // element1.removeChild(element1.children[element1.childElementCount - 1]);
@@ -13122,7 +13140,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13122
13140
  if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
13123
13141
  document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
13124
13142
  }
13125
- }, 250);
13143
+ }, animationDuration);
13126
13144
  }
13127
13145
  this.maps.zoomNotApplied = false;
13128
13146
  };
@@ -13131,14 +13149,14 @@ var Zoom = /** @__PURE__ @class */ (function () {
13131
13149
  var zoomArgs;
13132
13150
  if (!map.isTileMap) {
13133
13151
  zoomArgs = {
13134
- cancel: false, name: 'zoom', type: type, maps: !map.isBlazor ? map : null,
13152
+ cancel: false, name: 'zoom', type: type, maps: map,
13135
13153
  tileTranslatePoint: {}, translatePoint: { previous: map.previousPoint, current: map.translatePoint },
13136
13154
  tileZoomLevel: {}, scale: { previous: map.previousScale, current: map.scale }
13137
13155
  };
13138
13156
  }
13139
13157
  else {
13140
13158
  zoomArgs = {
13141
- cancel: false, name: 'zoom', type: type, maps: !map.isBlazor ? map : null,
13159
+ cancel: false, name: 'zoom', type: type, maps: map,
13142
13160
  tileTranslatePoint: { previous: prevTilePoint, current: map.tileTranslatePoint }, translatePoint: { previous: map.previousPoint, current: map.translatePoint },
13143
13161
  tileZoomLevel: { previous: prevLevel, current: map.tileZoomLevel }, scale: { previous: map.previousScale, current: map.scale }
13144
13162
  };
@@ -13296,11 +13314,13 @@ var Zoom = /** @__PURE__ @class */ (function () {
13296
13314
  */
13297
13315
  Zoom.prototype.animateTransform = function (element, animate$$1, x, y, scale) {
13298
13316
  var duration = this.currentLayer.animationDuration;
13299
- if (!animate$$1 || duration === 0) {
13317
+ if (!animate$$1 || duration === 0 || this.maps.isTileMap) {
13300
13318
  element.setAttribute('transform', 'scale(' + (scale) + ') translate( ' + x + ' ' + y + ' )');
13301
13319
  return;
13302
13320
  }
13303
- zoomAnimate(element, 0, duration, new MapLocation(x, y), scale, this.maps.mapAreaRect, this.maps);
13321
+ if (!this.maps.isTileMap) {
13322
+ zoomAnimate(element, 0, duration, new MapLocation(x, y), scale, this.maps.mapAreaRect, this.maps);
13323
+ }
13304
13324
  };
13305
13325
  Zoom.prototype.applyTransform = function (animate$$1) {
13306
13326
  var layerIndex;
@@ -13343,16 +13363,18 @@ var Zoom = /** @__PURE__ @class */ (function () {
13343
13363
  }
13344
13364
  }
13345
13365
  else if (currentEle.id.indexOf('_Markers_Group') > -1) {
13346
- if (!this.isPanning || this.maps.isBlazor) {
13366
+ if (!this.isPanning) {
13347
13367
  this.markerTranslates(currentEle.childNodes[0], factor, x, y, scale, 'Marker', layerElement, animate$$1);
13348
13368
  }
13349
13369
  currentEle = layerElement.childNodes[j];
13370
+ var markerAnimation = void 0;
13350
13371
  if (!isNullOrUndefined(currentEle) && currentEle.id.indexOf('Markers') !== -1) {
13351
13372
  for (var k = 0; k < currentEle.childElementCount; k++) {
13352
13373
  this.markerTranslate(currentEle.childNodes[k], factor, x, y, scale, 'Marker', animate$$1);
13353
13374
  var layerIndex_1 = parseInt(currentEle.childNodes[k]['id'].split('_LayerIndex_')[1].split('_')[0], 10);
13354
13375
  var dataIndex = parseInt(currentEle.childNodes[k]['id'].split('_dataIndex_')[1].split('_')[0], 10);
13355
13376
  var markerIndex = parseInt(currentEle.childNodes[k]['id'].split('_MarkerIndex_')[1].split('_')[0], 10);
13377
+ markerAnimation = this.currentLayer.markerSettings[markerIndex].animationDuration > 0;
13356
13378
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13357
13379
  var markerSelectionValues = this.currentLayer.markerSettings[markerIndex].dataSource[dataIndex];
13358
13380
  for (var x_1 = 0; x_1 < this.currentLayer.markerSettings[markerIndex].initialMarkerSelection.length; x_1++) {
@@ -13363,9 +13385,17 @@ var Zoom = /** @__PURE__ @class */ (function () {
13363
13385
  this.maps.markerSelection(this.currentLayer.markerSettings[markerIndex].selectionSettings, this.maps, currentEle.children[k], this.currentLayer.markerSettings[markerIndex].dataSource[dataIndex]);
13364
13386
  }
13365
13387
  }
13366
- if (!this.maps.isTileMap && this.currentLayer.animationDuration > 0) {
13367
- markerStyle = 'visibility:hidden';
13368
- currentEle.setAttribute('style', markerStyle);
13388
+ if ((this.currentLayer.animationDuration > 0 || (this.maps.layersCollection[0].animationDuration > 0 && this.currentLayer.type === 'SubLayer')) && !this.isPanning) {
13389
+ if (this.maps.isTileMap) {
13390
+ var groupElement = document.querySelector('.GroupElement');
13391
+ if (groupElement && !(document.querySelector('.ClusterGroupElement')) && markerAnimation) {
13392
+ groupElement.style.display = 'none';
13393
+ }
13394
+ }
13395
+ else {
13396
+ markerStyle = 'visibility:hidden';
13397
+ currentEle.setAttribute('style', markerStyle);
13398
+ }
13369
13399
  }
13370
13400
  }
13371
13401
  if (this.isPanning && this.maps.markerModule.sameMarkerData.length > 0) {
@@ -13462,10 +13492,9 @@ var Zoom = /** @__PURE__ @class */ (function () {
13462
13492
  }
13463
13493
  }
13464
13494
  this.maps.arrangeTemplate();
13465
- var blazor = this.maps.isBlazor ? this.maps.blazorTemplates() : null;
13466
13495
  }
13467
13496
  if (!isNullOrUndefined(this.currentLayer)) {
13468
- if (!animate$$1 || this.currentLayer.animationDuration === 0) {
13497
+ if (!animate$$1 || this.currentLayer.animationDuration === 0 || this.maps.isTileMap) {
13469
13498
  this.processTemplate(x, y, scale, this.maps);
13470
13499
  }
13471
13500
  }
@@ -13517,18 +13546,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13517
13546
  };
13518
13547
  eventArgs = markerShapeChoose(eventArgs, data);
13519
13548
  eventArgs = markerColorChoose(eventArgs, data);
13520
- if (_this.maps.isBlazor) {
13521
- var maps = eventArgs.maps, marker_1 = eventArgs.marker, blazorEventArgs = __rest$6(eventArgs, ["maps", "marker"]);
13522
- eventArgs = blazorEventArgs;
13523
- var latitudeValue = 'Latitude';
13524
- var longitudeValue = 'Longitude';
13525
- markerSettings.longitudeValuePath = !isNullOrUndefined(markerSettings.longitudeValuePath) ?
13526
- markerSettings.longitudeValuePath : !isNullOrUndefined(data['Longitude']) ? longitudeValue :
13527
- !isNullOrUndefined(data['longitude']) ? 'longitude' : null;
13528
- markerSettings.latitudeValuePath = !isNullOrUndefined(markerSettings.latitudeValuePath) ?
13529
- markerSettings.latitudeValuePath : !isNullOrUndefined(data['Latitude']) ? latitudeValue :
13530
- !isNullOrUndefined(data['latitude']) ? 'latitude' : null;
13531
- }
13532
13549
  _this.maps.trigger('markerRendering', eventArgs, function (MarkerArgs) {
13533
13550
  if (markerSettings.shapeValuePath !== eventArgs.shapeValuePath) {
13534
13551
  eventArgs = markerShapeChoose(eventArgs, data);
@@ -13542,22 +13559,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13542
13559
  var long = (!isNullOrUndefined(markerSettings.longitudeValuePath)) ?
13543
13560
  Number(getValueFromObject(data, markerSettings.longitudeValuePath)) : !isNullOrUndefined(data['longitude']) ?
13544
13561
  parseFloat(data['longitude']) : !isNullOrUndefined(data['Longitude']) ? data['Longitude'] : 0;
13545
- if (_this.maps.isBlazor) {
13546
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13547
- var data1 = {};
13548
- var j = 0;
13549
- var text = [];
13550
- for (var i = 0; i < Object.keys(data).length; i++) {
13551
- if (Object.keys(data)[i].toLowerCase() !== 'text' && Object.keys(data)[i].toLowerCase() !== 'latitude'
13552
- && Object.keys(data)[i].toLowerCase() !== 'blazortemplateid' && Object.keys(data)[i].toLowerCase() !== 'longitude'
13553
- && Object.keys(data)[i].toLowerCase() !== 'name') {
13554
- data1['text'] = text;
13555
- text[j] = data[Object.keys(data)[i].toLowerCase()];
13556
- j++;
13557
- }
13558
- }
13559
- data['text'] = data1['text'];
13560
- }
13561
13562
  var offset = markerSettings.offset;
13562
13563
  if (!eventArgs.cancel && markerSettings.visible && !isNullOrUndefined(long) && !isNullOrUndefined(lati)) {
13563
13564
  var markerID = _this.maps.element.id + '_LayerIndex_' + layerIndex + '_MarkerIndex_'
@@ -13612,7 +13613,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13612
13613
  */
13613
13614
  Zoom.prototype.processTemplate = function (x, y, scale, maps) {
13614
13615
  for (var i = 0; i < this.templateCount; i++) {
13615
- this.currentLayer = maps.layersCollection[i];
13616
13616
  var factor = maps.mapLayerPanel.calculateFactor(this.currentLayer);
13617
13617
  var markerTemplateElement = getElementByID(maps.element.id + '_LayerIndex_' +
13618
13618
  i + '_Markers_Template_Group');
@@ -13778,28 +13778,6 @@ var Zoom = /** @__PURE__ @class */ (function () {
13778
13778
  var layer = this.maps.layersCollection[layerIndex];
13779
13779
  var marker$$1 = layer.markerSettings[markerIndex];
13780
13780
  if (!isNullOrUndefined(marker$$1) && !isNullOrUndefined(marker$$1.dataSource) && !isNullOrUndefined(marker$$1.dataSource[dataIndex])) {
13781
- if (this.maps.isBlazor) {
13782
- marker$$1.longitudeValuePath = !isNullOrUndefined(marker$$1.longitudeValuePath) ?
13783
- marker$$1.longitudeValuePath : !isNullOrUndefined(marker$$1.dataSource[dataIndex]['Longitude']) ? 'Longitude' :
13784
- !isNullOrUndefined(marker$$1.dataSource[dataIndex]['longitude']) ? 'longitude' : null;
13785
- marker$$1.latitudeValuePath = !isNullOrUndefined(marker$$1.latitudeValuePath) ?
13786
- marker$$1.latitudeValuePath : !isNullOrUndefined(marker$$1.dataSource[dataIndex]['Latitude']) ? 'Latitude' :
13787
- !isNullOrUndefined(marker$$1.dataSource[dataIndex]['latitude']) ? 'latitude' : null;
13788
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13789
- var data1 = {};
13790
- var j = 0;
13791
- var text = [];
13792
- for (var i = 0; i < Object.keys(marker$$1.dataSource[dataIndex]).length; i++) {
13793
- if (Object.keys(marker$$1.dataSource[dataIndex])[i].toLowerCase() !== 'text' && Object.keys(marker$$1.dataSource[dataIndex])[i].toLowerCase() !== 'longitude'
13794
- && Object.keys(marker$$1.dataSource[dataIndex])[i].toLowerCase() !== 'latitude' && Object.keys(marker$$1.dataSource[dataIndex])[i].toLowerCase() !== 'blazortemplateid'
13795
- && Object.keys(marker$$1.dataSource[dataIndex])[i].toLowerCase() !== 'name') {
13796
- data1['text'] = text;
13797
- text[j] = marker$$1.dataSource[dataIndex][Object.keys(marker$$1.dataSource[dataIndex])[i].toLowerCase()];
13798
- j++;
13799
- }
13800
- }
13801
- marker$$1.dataSource[dataIndex]['text'] = data1['text'];
13802
- }
13803
13781
  var lng = (!isNullOrUndefined(marker$$1.longitudeValuePath)) ?
13804
13782
  Number(getValueFromObject(marker$$1.dataSource[dataIndex], marker$$1.longitudeValuePath)) :
13805
13783
  !isNullOrUndefined(marker$$1.dataSource[dataIndex]['longitude']) ? parseFloat(marker$$1.dataSource[dataIndex]['longitude']) :
@@ -13837,9 +13815,20 @@ var Zoom = /** @__PURE__ @class */ (function () {
13837
13815
  }
13838
13816
  else {
13839
13817
  if (type === 'Template') {
13840
- var elementOffset = element.getBoundingClientRect();
13841
- element.style.left = ((location_2.x + x) * scale) + marker$$1.offset.x - this.maps.mapAreaRect.x - (elementOffset.width / 2) + 'px';
13842
- element.style.top = ((location_2.y + y) * scale) + marker$$1.offset.y - this.maps.mapAreaRect.y - (elementOffset.height / 2) + 'px';
13818
+ if (duration > 0) {
13819
+ location_2.x = ((Math.abs(this.maps.baseMapRectBounds['min']['x'] - location_2.x)) * scale);
13820
+ location_2.y = ((Math.abs(this.maps.baseMapRectBounds['min']['y'] - location_2.y)) * scale);
13821
+ var layerOffset = getElementByID(this.maps.element.id + '_Layer_Collections').getBoundingClientRect();
13822
+ var elementOffset = element.parentElement.getBoundingClientRect();
13823
+ element.style.left = (((location_2.x) + (layerOffset.left - elementOffset.left)) + marker$$1.offset.x) + 'px';
13824
+ element.style.top = (((location_2.y) + (layerOffset.top - elementOffset.top)) + marker$$1.offset.y) + 'px';
13825
+ element.style.transform = 'translate(-50%, -50%)';
13826
+ }
13827
+ else {
13828
+ var elementOffset = element.getBoundingClientRect();
13829
+ element.style.left = ((location_2.x + x) * scale) + marker$$1.offset.x - this.maps.mapAreaRect.x - (elementOffset.width / 2) + 'px';
13830
+ element.style.top = ((location_2.y + y) * scale) + marker$$1.offset.y - this.maps.mapAreaRect.y - (elementOffset.height / 2) + 'px';
13831
+ }
13843
13832
  }
13844
13833
  else {
13845
13834
  location_2.x = (((location_2.x + x) * scale) + marker$$1.offset.x);
@@ -13854,6 +13843,20 @@ var Zoom = /** @__PURE__ @class */ (function () {
13854
13843
  }
13855
13844
  }
13856
13845
  };
13846
+ Zoom.prototype.markerLineAnimation = function (map) {
13847
+ if (map.isTileMap) {
13848
+ for (var i = 0; i < map.layersCollection.length; i++) {
13849
+ var markerTemplateElement = getElementByID(this.maps.element.id + '_LayerIndex_' + i + '_Markers_Template_Group');
13850
+ var lineElement = getElementByID(this.maps.element.id + '_LayerIndex_' + i + '_line_Group');
13851
+ if (!isNullOrUndefined(markerTemplateElement)) {
13852
+ markerTemplateElement.style.visibility = 'hidden';
13853
+ }
13854
+ if (!isNullOrUndefined(lineElement)) {
13855
+ lineElement.style.visibility = 'hidden';
13856
+ }
13857
+ }
13858
+ }
13859
+ };
13857
13860
  Zoom.prototype.panning = function (direction, xDifference, yDifference, mouseLocation) {
13858
13861
  var map = this.maps;
13859
13862
  var panArgs;
@@ -13883,7 +13886,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13883
13886
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13884
13887
  var location_3 = this.maps.getGeoLocation(this.maps.layersCollection.length - 1, mouseLocation['layerX'], mouseLocation['layerY']);
13885
13888
  panArgs = {
13886
- cancel: false, name: pan, maps: !map.isBlazor ? map : null,
13889
+ cancel: false, name: pan, maps: map,
13887
13890
  tileTranslatePoint: {}, translatePoint: { previous: translatePoint, current: new Point(x, y) },
13888
13891
  scale: map.scale, tileZoomLevel: map.tileZoomLevel, latitude: location_3['latitude'], longitude: location_3['longitude']
13889
13892
  };
@@ -13920,7 +13923,7 @@ var Zoom = /** @__PURE__ @class */ (function () {
13920
13923
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
13921
13924
  var location_4 = this.maps.getTileGeoLocation(mouseLocation['layerX'], mouseLocation['layerY']);
13922
13925
  panArgs = {
13923
- cancel: false, name: pan, maps: !map.isBlazor ? map : null,
13926
+ cancel: false, name: pan, maps: map,
13924
13927
  tileTranslatePoint: { previous: prevTilePoint, current: map.tileTranslatePoint },
13925
13928
  translatePoint: { previous: translatePoint, current: map.translatePoint }, scale: map.scale,
13926
13929
  tileZoomLevel: map.tileZoomLevel, latitude: location_4['latitude'], longitude: location_4['longitude']
@@ -13986,41 +13989,45 @@ var Zoom = /** @__PURE__ @class */ (function () {
13986
13989
  var tileZoomFactor = prevLevel < minZoom && !map.isReset ? minZoom : zoomFactor;
13987
13990
  map.scale = Math.pow(2, tileZoomFactor - 1);
13988
13991
  map.tileZoomLevel = tileZoomFactor;
13989
- map.zoomSettings.zoomFactor = zoomFactor;
13990
- var position = { x: map.availableSize.width / 2, y: map.availableSize.height / 2 };
13991
- this.getTileTranslatePosition(prevLevel, tileZoomFactor, position, type);
13992
- if (map.zoomSettings.resetToInitial && map.applyZoomReset && type === 'Reset' || (type === 'ZoomOut' && map.zoomSettings.resetToInitial && map.applyZoomReset && tileZoomFactor <= map.initialZoomLevel)) {
13993
- map.initialCheck = true;
13994
- map.zoomPersistence = false;
13995
- map.tileTranslatePoint.x = map.initialTileTranslate.x;
13996
- map.tileTranslatePoint.y = map.initialTileTranslate.y;
13997
- tileZoomFactor = map.tileZoomLevel = map.mapScaleValue = map.initialZoomLevel;
13998
- }
13999
- this.triggerZoomEvent(prevTilePoint, prevLevel, type);
14000
- map.translatePoint.y = (map.tileTranslatePoint.y - (0.01 * map.mapScaleValue)) / map.scale;
14001
- map.translatePoint.x = (map.tileTranslatePoint.x - (0.01 * map.mapScaleValue)) / map.scale;
14002
- if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
14003
- document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
13992
+ if (map.previousScale !== map.scale || map.isReset) {
13993
+ map.zoomSettings.zoomFactor = zoomFactor;
13994
+ var position = { x: map.availableSize.width / 2, y: map.availableSize.height / 2 };
13995
+ this.getTileTranslatePosition(prevLevel, tileZoomFactor, position, type);
13996
+ if (map.zoomSettings.resetToInitial && map.applyZoomReset && type === 'Reset' || (type === 'ZoomOut' && map.zoomSettings.resetToInitial && map.applyZoomReset && tileZoomFactor <= map.initialZoomLevel)) {
13997
+ map.initialCheck = true;
13998
+ map.zoomPersistence = false;
13999
+ map.tileTranslatePoint.x = map.initialTileTranslate.x;
14000
+ map.tileTranslatePoint.y = map.initialTileTranslate.y;
14001
+ tileZoomFactor = map.tileZoomLevel = map.mapScaleValue = map.initialZoomLevel;
14002
+ }
14003
+ this.triggerZoomEvent(prevTilePoint, prevLevel, type);
14004
+ map.translatePoint.y = (map.tileTranslatePoint.y - (0.01 * map.mapScaleValue)) / map.scale;
14005
+ map.translatePoint.x = (map.tileTranslatePoint.x - (0.01 * map.mapScaleValue)) / map.scale;
14006
+ if (document.getElementById(this.maps.element.id + '_LayerIndex_1')) {
14007
+ document.getElementById(this.maps.element.id + '_LayerIndex_1').style.display = 'none';
14008
+ }
14009
+ if (document.querySelector('.GroupElement')) {
14010
+ document.querySelector('.GroupElement').style.display = 'none';
14011
+ }
14012
+ this.markerLineAnimation(map);
14013
+ map.mapLayerPanel.generateTiles(tileZoomFactor, map.tileTranslatePoint, type);
14014
+ var element1 = document.getElementById(this.maps.element.id + '_tiles');
14015
+ var animationDuration = this.maps.layersCollection[0].animationDuration;
14016
+ setTimeout(function () {
14017
+ _this.applyTransform(true);
14018
+ if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
14019
+ document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
14020
+ }
14021
+ }, animationDuration);
14004
14022
  }
14005
- if (document.querySelector('.GroupElement')) {
14006
- document.querySelector('.GroupElement').style.display = 'none';
14007
- }
14008
- map.mapLayerPanel.generateTiles(tileZoomFactor, map.tileTranslatePoint, type);
14009
- var element1 = document.getElementById(this.maps.element.id + '_tiles');
14010
- setTimeout(function () {
14011
- _this.applyTransform(true);
14012
- if (document.getElementById(_this.maps.element.id + '_LayerIndex_1')) {
14013
- document.getElementById(_this.maps.element.id + '_LayerIndex_1').style.display = 'block';
14014
- }
14015
- }, 250);
14023
+ this.maps.zoomNotApplied = false;
14016
14024
  }
14017
- this.maps.zoomNotApplied = false;
14018
14025
  };
14019
14026
  Zoom.prototype.createZoomingToolbars = function () {
14020
14027
  var map = this.maps;
14021
14028
  this.toolBarGroup = map.renderer.createGroup({
14022
14029
  id: map.element.id + '_Zooming_KitCollection',
14023
- opacity: 0.3
14030
+ opacity: map.theme.toLowerCase() === 'fluentuidark' ? 0.6 : 0.3
14024
14031
  });
14025
14032
  var kitHeight = 16;
14026
14033
  var kitWidth = 16;
@@ -14423,14 +14430,14 @@ var Zoom = /** @__PURE__ @class */ (function () {
14423
14430
  if (document.getElementById(map.element.id + '_Zooming_ToolBar_Pan_Group')) {
14424
14431
  if (!this.maps.zoomSettings.enablePanning) {
14425
14432
  if (target.id.indexOf('_Zooming_ToolBar') > -1 || target.id.indexOf('_Zooming_Rect') > -1) {
14426
- getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', '0.3');
14427
- getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', '0.3');
14433
+ getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
14434
+ getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
14428
14435
  }
14429
14436
  }
14430
14437
  }
14431
14438
  }
14432
14439
  else {
14433
- getElementByID(map.element.id + '_Zooming_KitCollection').setAttribute('opacity', '0.3');
14440
+ getElementByID(map.element.id + '_Zooming_KitCollection').setAttribute('opacity', map.theme.toLowerCase() === 'fluentuidark' ? '0.6' : '0.3');
14434
14441
  if (!this.maps.zoomSettings.enablePanning && document.getElementById(map.element.id + '_Zooming_ToolBar_Pan_Group')) {
14435
14442
  getElementByID(map.element.id + '_Zooming_ToolBar_Pan_Rect').setAttribute('opacity', '1');
14436
14443
  getElementByID(map.element.id + '_Zooming_ToolBar_Pan').setAttribute('opacity', '1');
@@ -14892,7 +14899,7 @@ var PdfExport = /** @__PURE__ @class */ (function () {
14892
14899
  var exportElement = _this.control.svgObject.cloneNode(true);
14893
14900
  var backgroundElement = exportElement.childNodes[0];
14894
14901
  var backgroundColor = backgroundElement.getAttribute('fill');
14895
- if ((_this.control.theme === 'Tailwind' || _this.control.theme === 'TailwindDark')
14902
+ if ((_this.control.theme === 'Tailwind' || _this.control.theme === 'TailwindDark' || _this.control.theme === 'Bootstrap5' || _this.control.theme === 'Bootstrap5Dark')
14896
14903
  && (backgroundColor === 'rgba(255,255,255, 0.0)' || backgroundColor === 'transparent')) {
14897
14904
  exportElement.childNodes[0].setAttribute('fill', 'rgba(255,255,255, 1)');
14898
14905
  }