@mint-ui/map 1.2.0-test.70 → 1.2.0-test.71

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.
@@ -245,7 +245,24 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
245
245
  return item.id;
246
246
  })) : new Set();
247
247
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
248
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
248
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
249
+
250
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
251
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
252
+
253
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
254
+
255
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
256
+ drawPolygon({
257
+ ctx: ctx,
258
+ fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
259
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
260
+ lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
261
+ polygonOffsets: polygonOffsets,
262
+ strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
263
+ });
264
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
265
+
249
266
 
250
267
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
251
268
  for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
@@ -264,7 +281,7 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
264
281
  strokeColor: _selectedStrokeColor
265
282
  });
266
283
  }
267
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
284
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
268
285
 
269
286
 
270
287
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -280,23 +297,6 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
280
297
  strokeColor: _activeStrokeColor
281
298
  });
282
299
  }
283
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
284
-
285
-
286
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
287
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
288
-
289
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
290
-
291
- var isSelected = selectedIdsSet.has(hoveredItem.id);
292
- drawPolygon({
293
- ctx: ctx,
294
- fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
295
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
296
- lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
297
- polygonOffsets: polygonOffsets,
298
- strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
299
- });
300
300
  }
301
301
  };
302
302
  };
@@ -403,7 +403,24 @@ var renderPolygonEventWithObject = function (renderStyle) {
403
403
  return item.id;
404
404
  })) : new Set();
405
405
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
406
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
406
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
407
+
408
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
409
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
410
+
411
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
412
+
413
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
414
+ drawPolygon({
415
+ ctx: ctx,
416
+ fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
417
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
418
+ lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
419
+ polygonOffsets: polygonOffsets,
420
+ strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
421
+ });
422
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
423
+
407
424
 
408
425
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
409
426
  for (var _i = 0, selectedItems_2 = selectedItems; _i < selectedItems_2.length; _i++) {
@@ -422,7 +439,7 @@ var renderPolygonEventWithObject = function (renderStyle) {
422
439
  strokeColor: _selectedStyle.strokeColor
423
440
  });
424
441
  }
425
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
442
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
426
443
 
427
444
 
428
445
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -438,23 +455,6 @@ var renderPolygonEventWithObject = function (renderStyle) {
438
455
  strokeColor: _activeStyle.strokeColor
439
456
  });
440
457
  }
441
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
442
-
443
-
444
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
445
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
446
-
447
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
448
-
449
- var isSelected = selectedIdsSet.has(hoveredItem.id);
450
- drawPolygon({
451
- ctx: ctx,
452
- fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
453
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
454
- lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
455
- polygonOffsets: polygonOffsets,
456
- strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
457
- });
458
458
  }
459
459
  };
460
460
  };
@@ -569,7 +569,32 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
569
569
  return item.id;
570
570
  })) : new Set();
571
571
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
572
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
572
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
573
+
574
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
575
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
576
+
577
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
578
+
579
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
580
+ var context = {
581
+ isActive: isSelected && hoveredItem.id === selectedItemId,
582
+ isHovered: !isSelected,
583
+ isSelected: isSelected
584
+ };
585
+ var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
586
+
587
+ if (!style) return;
588
+ drawPolygon({
589
+ ctx: ctx,
590
+ fillColor: style.fillColor,
591
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
592
+ lineWidth: style.lineWidth,
593
+ polygonOffsets: polygonOffsets,
594
+ strokeColor: style.strokeColor
595
+ });
596
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
597
+
573
598
 
574
599
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
575
600
  for (var _i = 0, selectedItems_3 = selectedItems; _i < selectedItems_3.length; _i++) {
@@ -596,7 +621,7 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
596
621
  strokeColor: style.strokeColor
597
622
  });
598
623
  }
599
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
624
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
600
625
 
601
626
 
602
627
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -620,31 +645,6 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
620
645
  strokeColor: style.strokeColor
621
646
  });
622
647
  }
623
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
624
-
625
-
626
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
627
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
628
-
629
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
630
-
631
- var isSelected = selectedIdsSet.has(hoveredItem.id);
632
- var context = {
633
- isActive: isSelected && hoveredItem.id === selectedItemId,
634
- isHovered: !isSelected,
635
- isSelected: isSelected
636
- };
637
- var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
638
-
639
- if (!style) return;
640
- drawPolygon({
641
- ctx: ctx,
642
- fillColor: style.fillColor,
643
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
644
- lineWidth: style.lineWidth,
645
- polygonOffsets: polygonOffsets,
646
- strokeColor: style.strokeColor
647
- });
648
648
  }
649
649
  };
650
650
  };
@@ -765,7 +765,45 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
765
765
  return item.id;
766
766
  })) : new Set();
767
767
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
768
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
768
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
769
+
770
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
771
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
772
+
773
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
774
+
775
+ var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
776
+
777
+ var style = void 0;
778
+
779
+ if (customStyle) {
780
+ var context = {
781
+ isActive: isSelected && hoveredItem.id === selectedItemId,
782
+ isHovered: !isSelected,
783
+ isSelected: isSelected
784
+ };
785
+ style = customStyle(hoveredItem, context);
786
+ } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
787
+
788
+
789
+ if (!style) {
790
+ style = {
791
+ fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
792
+ lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
793
+ strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
794
+ };
795
+ }
796
+
797
+ drawPolygon({
798
+ ctx: ctx,
799
+ fillColor: style.fillColor,
800
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
801
+ lineWidth: style.lineWidth,
802
+ polygonOffsets: polygonOffsets,
803
+ strokeColor: style.strokeColor
804
+ });
805
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
806
+
769
807
 
770
808
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
771
809
  for (var _i = 0, selectedItems_4 = selectedItems; _i < selectedItems_4.length; _i++) {
@@ -805,7 +843,7 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
805
843
  strokeColor: style.strokeColor
806
844
  });
807
845
  }
808
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
846
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
809
847
 
810
848
 
811
849
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -842,44 +880,6 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
842
880
  strokeColor: style.strokeColor
843
881
  });
844
882
  }
845
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
846
-
847
-
848
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
849
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
850
-
851
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
852
-
853
- var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
854
-
855
- var style = void 0;
856
-
857
- if (customStyle) {
858
- var context = {
859
- isActive: isSelected && hoveredItem.id === selectedItemId,
860
- isHovered: !isSelected,
861
- isSelected: isSelected
862
- };
863
- style = customStyle(hoveredItem, context);
864
- } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
865
-
866
-
867
- if (!style) {
868
- style = {
869
- fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
870
- lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
871
- strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
872
- };
873
- }
874
-
875
- drawPolygon({
876
- ctx: ctx,
877
- fillColor: style.fillColor,
878
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
879
- lineWidth: style.lineWidth,
880
- polygonOffsets: polygonOffsets,
881
- strokeColor: style.strokeColor
882
- });
883
883
  }
884
884
  };
885
885
  };
@@ -971,7 +971,41 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
971
971
  return item.id;
972
972
  })) : new Set();
973
973
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
974
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
974
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
975
+
976
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
977
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
978
+
979
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
980
+
981
+ var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
982
+
983
+ var style = void 0;
984
+
985
+ if (customStyle) {
986
+ var context = {
987
+ isActive: isSelected && hoveredItem.id === selectedItemId,
988
+ isHovered: !isSelected,
989
+ isSelected: isSelected
990
+ };
991
+ style = customStyle(hoveredItem, context);
992
+ } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
993
+
994
+
995
+ if (!style) {
996
+ style = isSelected ? _activeStyle : _hoveredStyle;
997
+ }
998
+
999
+ drawPolygon({
1000
+ ctx: ctx,
1001
+ fillColor: style.fillColor,
1002
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
1003
+ lineWidth: style.lineWidth,
1004
+ polygonOffsets: polygonOffsets,
1005
+ strokeColor: style.strokeColor
1006
+ });
1007
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
1008
+
975
1009
 
976
1010
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
977
1011
  for (var _i = 0, selectedItems_5 = selectedItems; _i < selectedItems_5.length; _i++) {
@@ -1007,7 +1041,7 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
1007
1041
  strokeColor: style.strokeColor
1008
1042
  });
1009
1043
  }
1010
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
1044
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
1011
1045
 
1012
1046
 
1013
1047
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -1040,40 +1074,6 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
1040
1074
  strokeColor: style.strokeColor
1041
1075
  });
1042
1076
  }
1043
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
1044
-
1045
-
1046
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
1047
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
1048
-
1049
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
1050
-
1051
- var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
1052
-
1053
- var style = void 0;
1054
-
1055
- if (customStyle) {
1056
- var context = {
1057
- isActive: isSelected && hoveredItem.id === selectedItemId,
1058
- isHovered: !isSelected,
1059
- isSelected: isSelected
1060
- };
1061
- style = customStyle(hoveredItem, context);
1062
- } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
1063
-
1064
-
1065
- if (!style) {
1066
- style = isSelected ? _activeStyle : _hoveredStyle;
1067
- }
1068
-
1069
- drawPolygon({
1070
- ctx: ctx,
1071
- fillColor: style.fillColor,
1072
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
1073
- lineWidth: style.lineWidth,
1074
- polygonOffsets: polygonOffsets,
1075
- strokeColor: style.strokeColor
1076
- });
1077
1077
  }
1078
1078
  };
1079
1079
  };
package/dist/index.es.js CHANGED
@@ -5087,7 +5087,24 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
5087
5087
  return item.id;
5088
5088
  })) : new Set();
5089
5089
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5090
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5090
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5091
+
5092
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5093
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5094
+
5095
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5096
+
5097
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
5098
+ drawPolygon({
5099
+ ctx: ctx,
5100
+ fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5101
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5102
+ lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5103
+ polygonOffsets: polygonOffsets,
5104
+ strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5105
+ });
5106
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5107
+
5091
5108
 
5092
5109
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5093
5110
  for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
@@ -5106,7 +5123,7 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
5106
5123
  strokeColor: _selectedStrokeColor
5107
5124
  });
5108
5125
  }
5109
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5126
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5110
5127
 
5111
5128
 
5112
5129
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5122,23 +5139,6 @@ var renderPolygonEvent = function (baseFillColor, baseStrokeColor, baseLineWidth
5122
5139
  strokeColor: _activeStrokeColor
5123
5140
  });
5124
5141
  }
5125
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5126
-
5127
-
5128
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5129
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5130
-
5131
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5132
-
5133
- var isSelected = selectedIdsSet.has(hoveredItem.id);
5134
- drawPolygon({
5135
- ctx: ctx,
5136
- fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5137
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5138
- lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5139
- polygonOffsets: polygonOffsets,
5140
- strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5141
- });
5142
5142
  }
5143
5143
  };
5144
5144
  };
@@ -5245,7 +5245,24 @@ var renderPolygonEventWithObject = function (renderStyle) {
5245
5245
  return item.id;
5246
5246
  })) : new Set();
5247
5247
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5248
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5248
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5249
+
5250
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5251
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5252
+
5253
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5254
+
5255
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
5256
+ drawPolygon({
5257
+ ctx: ctx,
5258
+ fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
5259
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5260
+ lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
5261
+ polygonOffsets: polygonOffsets,
5262
+ strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
5263
+ });
5264
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5265
+
5249
5266
 
5250
5267
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5251
5268
  for (var _i = 0, selectedItems_2 = selectedItems; _i < selectedItems_2.length; _i++) {
@@ -5264,7 +5281,7 @@ var renderPolygonEventWithObject = function (renderStyle) {
5264
5281
  strokeColor: _selectedStyle.strokeColor
5265
5282
  });
5266
5283
  }
5267
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5284
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5268
5285
 
5269
5286
 
5270
5287
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5280,23 +5297,6 @@ var renderPolygonEventWithObject = function (renderStyle) {
5280
5297
  strokeColor: _activeStyle.strokeColor
5281
5298
  });
5282
5299
  }
5283
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5284
-
5285
-
5286
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5287
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5288
-
5289
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5290
-
5291
- var isSelected = selectedIdsSet.has(hoveredItem.id);
5292
- drawPolygon({
5293
- ctx: ctx,
5294
- fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
5295
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5296
- lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
5297
- polygonOffsets: polygonOffsets,
5298
- strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
5299
- });
5300
5300
  }
5301
5301
  };
5302
5302
  };
@@ -5411,7 +5411,32 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
5411
5411
  return item.id;
5412
5412
  })) : new Set();
5413
5413
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5414
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5414
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5415
+
5416
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5417
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5418
+
5419
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5420
+
5421
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
5422
+ var context = {
5423
+ isActive: isSelected && hoveredItem.id === selectedItemId,
5424
+ isHovered: !isSelected,
5425
+ isSelected: isSelected
5426
+ };
5427
+ var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
5428
+
5429
+ if (!style) return;
5430
+ drawPolygon({
5431
+ ctx: ctx,
5432
+ fillColor: style.fillColor,
5433
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5434
+ lineWidth: style.lineWidth,
5435
+ polygonOffsets: polygonOffsets,
5436
+ strokeColor: style.strokeColor
5437
+ });
5438
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5439
+
5415
5440
 
5416
5441
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5417
5442
  for (var _i = 0, selectedItems_3 = selectedItems; _i < selectedItems_3.length; _i++) {
@@ -5438,7 +5463,7 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
5438
5463
  strokeColor: style.strokeColor
5439
5464
  });
5440
5465
  }
5441
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5466
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5442
5467
 
5443
5468
 
5444
5469
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5462,31 +5487,6 @@ var renderPolygonEventWithCustomStyle = function (customStyle) {
5462
5487
  strokeColor: style.strokeColor
5463
5488
  });
5464
5489
  }
5465
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5466
-
5467
-
5468
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5469
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5470
-
5471
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5472
-
5473
- var isSelected = selectedIdsSet.has(hoveredItem.id);
5474
- var context = {
5475
- isActive: isSelected && hoveredItem.id === selectedItemId,
5476
- isHovered: !isSelected,
5477
- isSelected: isSelected
5478
- };
5479
- var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
5480
-
5481
- if (!style) return;
5482
- drawPolygon({
5483
- ctx: ctx,
5484
- fillColor: style.fillColor,
5485
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5486
- lineWidth: style.lineWidth,
5487
- polygonOffsets: polygonOffsets,
5488
- strokeColor: style.strokeColor
5489
- });
5490
5490
  }
5491
5491
  };
5492
5492
  };
@@ -5607,7 +5607,45 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
5607
5607
  return item.id;
5608
5608
  })) : new Set();
5609
5609
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5610
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5610
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5611
+
5612
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5613
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5614
+
5615
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5616
+
5617
+ var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5618
+
5619
+ var style = void 0;
5620
+
5621
+ if (customStyle) {
5622
+ var context = {
5623
+ isActive: isSelected && hoveredItem.id === selectedItemId,
5624
+ isHovered: !isSelected,
5625
+ isSelected: isSelected
5626
+ };
5627
+ style = customStyle(hoveredItem, context);
5628
+ } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5629
+
5630
+
5631
+ if (!style) {
5632
+ style = {
5633
+ fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5634
+ lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5635
+ strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5636
+ };
5637
+ }
5638
+
5639
+ drawPolygon({
5640
+ ctx: ctx,
5641
+ fillColor: style.fillColor,
5642
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5643
+ lineWidth: style.lineWidth,
5644
+ polygonOffsets: polygonOffsets,
5645
+ strokeColor: style.strokeColor
5646
+ });
5647
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5648
+
5611
5649
 
5612
5650
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5613
5651
  for (var _i = 0, selectedItems_4 = selectedItems; _i < selectedItems_4.length; _i++) {
@@ -5647,7 +5685,7 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
5647
5685
  strokeColor: style.strokeColor
5648
5686
  });
5649
5687
  }
5650
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5688
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5651
5689
 
5652
5690
 
5653
5691
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5684,44 +5722,6 @@ var renderPolygonEventWithHybrid = function (customStyle, baseFillColor, baseStr
5684
5722
  strokeColor: style.strokeColor
5685
5723
  });
5686
5724
  }
5687
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5688
-
5689
-
5690
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5691
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5692
-
5693
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5694
-
5695
- var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5696
-
5697
- var style = void 0;
5698
-
5699
- if (customStyle) {
5700
- var context = {
5701
- isActive: isSelected && hoveredItem.id === selectedItemId,
5702
- isHovered: !isSelected,
5703
- isSelected: isSelected
5704
- };
5705
- style = customStyle(hoveredItem, context);
5706
- } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5707
-
5708
-
5709
- if (!style) {
5710
- style = {
5711
- fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5712
- lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5713
- strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5714
- };
5715
- }
5716
-
5717
- drawPolygon({
5718
- ctx: ctx,
5719
- fillColor: style.fillColor,
5720
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5721
- lineWidth: style.lineWidth,
5722
- polygonOffsets: polygonOffsets,
5723
- strokeColor: style.strokeColor
5724
- });
5725
5725
  }
5726
5726
  };
5727
5727
  };
@@ -5813,7 +5813,41 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
5813
5813
  return item.id;
5814
5814
  })) : new Set();
5815
5815
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5816
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5816
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5817
+
5818
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5819
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5820
+
5821
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5822
+
5823
+ var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5824
+
5825
+ var style = void 0;
5826
+
5827
+ if (customStyle) {
5828
+ var context = {
5829
+ isActive: isSelected && hoveredItem.id === selectedItemId,
5830
+ isHovered: !isSelected,
5831
+ isSelected: isSelected
5832
+ };
5833
+ style = customStyle(hoveredItem, context);
5834
+ } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5835
+
5836
+
5837
+ if (!style) {
5838
+ style = isSelected ? _activeStyle : _hoveredStyle;
5839
+ }
5840
+
5841
+ drawPolygon({
5842
+ ctx: ctx,
5843
+ fillColor: style.fillColor,
5844
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5845
+ lineWidth: style.lineWidth,
5846
+ polygonOffsets: polygonOffsets,
5847
+ strokeColor: style.strokeColor
5848
+ });
5849
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5850
+
5817
5851
 
5818
5852
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5819
5853
  for (var _i = 0, selectedItems_5 = selectedItems; _i < selectedItems_5.length; _i++) {
@@ -5849,7 +5883,7 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
5849
5883
  strokeColor: style.strokeColor
5850
5884
  });
5851
5885
  }
5852
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5886
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5853
5887
 
5854
5888
 
5855
5889
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5882,40 +5916,6 @@ var renderPolygonEventWithHybridObject = function (customStyle, renderStyle) {
5882
5916
  strokeColor: style.strokeColor
5883
5917
  });
5884
5918
  }
5885
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5886
-
5887
-
5888
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5889
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5890
-
5891
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5892
-
5893
- var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5894
-
5895
- var style = void 0;
5896
-
5897
- if (customStyle) {
5898
- var context = {
5899
- isActive: isSelected && hoveredItem.id === selectedItemId,
5900
- isHovered: !isSelected,
5901
- isSelected: isSelected
5902
- };
5903
- style = customStyle(hoveredItem, context);
5904
- } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5905
-
5906
-
5907
- if (!style) {
5908
- style = isSelected ? _activeStyle : _hoveredStyle;
5909
- }
5910
-
5911
- drawPolygon({
5912
- ctx: ctx,
5913
- fillColor: style.fillColor,
5914
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5915
- lineWidth: style.lineWidth,
5916
- polygonOffsets: polygonOffsets,
5917
- strokeColor: style.strokeColor
5918
- });
5919
5919
  }
5920
5920
  };
5921
5921
  };
package/dist/index.umd.js CHANGED
@@ -5091,7 +5091,24 @@
5091
5091
  return item.id;
5092
5092
  })) : new Set();
5093
5093
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5094
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5094
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5095
+
5096
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5097
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5098
+
5099
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5100
+
5101
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
5102
+ drawPolygon({
5103
+ ctx: ctx,
5104
+ fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5105
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5106
+ lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5107
+ polygonOffsets: polygonOffsets,
5108
+ strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5109
+ });
5110
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5111
+
5095
5112
 
5096
5113
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5097
5114
  for (var _i = 0, selectedItems_1 = selectedItems; _i < selectedItems_1.length; _i++) {
@@ -5110,7 +5127,7 @@
5110
5127
  strokeColor: _selectedStrokeColor
5111
5128
  });
5112
5129
  }
5113
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5130
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5114
5131
 
5115
5132
 
5116
5133
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5126,23 +5143,6 @@
5126
5143
  strokeColor: _activeStrokeColor
5127
5144
  });
5128
5145
  }
5129
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5130
-
5131
-
5132
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5133
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5134
-
5135
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5136
-
5137
- var isSelected = selectedIdsSet.has(hoveredItem.id);
5138
- drawPolygon({
5139
- ctx: ctx,
5140
- fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5141
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5142
- lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5143
- polygonOffsets: polygonOffsets,
5144
- strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5145
- });
5146
5146
  }
5147
5147
  };
5148
5148
  };
@@ -5249,7 +5249,24 @@
5249
5249
  return item.id;
5250
5250
  })) : new Set();
5251
5251
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5252
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5252
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5253
+
5254
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5255
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5256
+
5257
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5258
+
5259
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
5260
+ drawPolygon({
5261
+ ctx: ctx,
5262
+ fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
5263
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5264
+ lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
5265
+ polygonOffsets: polygonOffsets,
5266
+ strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
5267
+ });
5268
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5269
+
5253
5270
 
5254
5271
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5255
5272
  for (var _i = 0, selectedItems_2 = selectedItems; _i < selectedItems_2.length; _i++) {
@@ -5268,7 +5285,7 @@
5268
5285
  strokeColor: _selectedStyle.strokeColor
5269
5286
  });
5270
5287
  }
5271
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5288
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5272
5289
 
5273
5290
 
5274
5291
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5284,23 +5301,6 @@
5284
5301
  strokeColor: _activeStyle.strokeColor
5285
5302
  });
5286
5303
  }
5287
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5288
-
5289
-
5290
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5291
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5292
-
5293
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5294
-
5295
- var isSelected = selectedIdsSet.has(hoveredItem.id);
5296
- drawPolygon({
5297
- ctx: ctx,
5298
- fillColor: isSelected ? _activeStyle.fillColor : _hoveredStyle.fillColor,
5299
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5300
- lineWidth: isSelected ? _activeStyle.lineWidth : _hoveredStyle.lineWidth,
5301
- polygonOffsets: polygonOffsets,
5302
- strokeColor: isSelected ? _activeStyle.strokeColor : _hoveredStyle.strokeColor
5303
- });
5304
5304
  }
5305
5305
  };
5306
5306
  };
@@ -5415,7 +5415,32 @@
5415
5415
  return item.id;
5416
5416
  })) : new Set();
5417
5417
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5418
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5418
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5419
+
5420
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5421
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5422
+
5423
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5424
+
5425
+ var isSelected = selectedIdsSet.has(hoveredItem.id);
5426
+ var context = {
5427
+ isActive: isSelected && hoveredItem.id === selectedItemId,
5428
+ isHovered: !isSelected,
5429
+ isSelected: isSelected
5430
+ };
5431
+ var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
5432
+
5433
+ if (!style) return;
5434
+ drawPolygon({
5435
+ ctx: ctx,
5436
+ fillColor: style.fillColor,
5437
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5438
+ lineWidth: style.lineWidth,
5439
+ polygonOffsets: polygonOffsets,
5440
+ strokeColor: style.strokeColor
5441
+ });
5442
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5443
+
5419
5444
 
5420
5445
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5421
5446
  for (var _i = 0, selectedItems_3 = selectedItems; _i < selectedItems_3.length; _i++) {
@@ -5442,7 +5467,7 @@
5442
5467
  strokeColor: style.strokeColor
5443
5468
  });
5444
5469
  }
5445
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5470
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5446
5471
 
5447
5472
 
5448
5473
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5466,31 +5491,6 @@
5466
5491
  strokeColor: style.strokeColor
5467
5492
  });
5468
5493
  }
5469
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5470
-
5471
-
5472
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5473
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5474
-
5475
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5476
-
5477
- var isSelected = selectedIdsSet.has(hoveredItem.id);
5478
- var context = {
5479
- isActive: isSelected && hoveredItem.id === selectedItemId,
5480
- isHovered: !isSelected,
5481
- isSelected: isSelected
5482
- };
5483
- var style = customStyle(hoveredItem, context); // null 또는 undefined를 반환하면 그리지 않음
5484
-
5485
- if (!style) return;
5486
- drawPolygon({
5487
- ctx: ctx,
5488
- fillColor: style.fillColor,
5489
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5490
- lineWidth: style.lineWidth,
5491
- polygonOffsets: polygonOffsets,
5492
- strokeColor: style.strokeColor
5493
- });
5494
5494
  }
5495
5495
  };
5496
5496
  };
@@ -5611,7 +5611,45 @@
5611
5611
  return item.id;
5612
5612
  })) : new Set();
5613
5613
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5614
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5614
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5615
+
5616
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5617
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5618
+
5619
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5620
+
5621
+ var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5622
+
5623
+ var style = void 0;
5624
+
5625
+ if (customStyle) {
5626
+ var context = {
5627
+ isActive: isSelected && hoveredItem.id === selectedItemId,
5628
+ isHovered: !isSelected,
5629
+ isSelected: isSelected
5630
+ };
5631
+ style = customStyle(hoveredItem, context);
5632
+ } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5633
+
5634
+
5635
+ if (!style) {
5636
+ style = {
5637
+ fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5638
+ lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5639
+ strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5640
+ };
5641
+ }
5642
+
5643
+ drawPolygon({
5644
+ ctx: ctx,
5645
+ fillColor: style.fillColor,
5646
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5647
+ lineWidth: style.lineWidth,
5648
+ polygonOffsets: polygonOffsets,
5649
+ strokeColor: style.strokeColor
5650
+ });
5651
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5652
+
5615
5653
 
5616
5654
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5617
5655
  for (var _i = 0, selectedItems_4 = selectedItems; _i < selectedItems_4.length; _i++) {
@@ -5651,7 +5689,7 @@
5651
5689
  strokeColor: style.strokeColor
5652
5690
  });
5653
5691
  }
5654
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5692
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5655
5693
 
5656
5694
 
5657
5695
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5688,44 +5726,6 @@
5688
5726
  strokeColor: style.strokeColor
5689
5727
  });
5690
5728
  }
5691
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5692
-
5693
-
5694
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5695
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5696
-
5697
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5698
-
5699
- var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5700
-
5701
- var style = void 0;
5702
-
5703
- if (customStyle) {
5704
- var context = {
5705
- isActive: isSelected && hoveredItem.id === selectedItemId,
5706
- isHovered: !isSelected,
5707
- isSelected: isSelected
5708
- };
5709
- style = customStyle(hoveredItem, context);
5710
- } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5711
-
5712
-
5713
- if (!style) {
5714
- style = {
5715
- fillColor: isSelected ? _activeFillColor : _hoveredFillColor,
5716
- lineWidth: isSelected ? _activeLineWidth : _hoveredLineWidth,
5717
- strokeColor: isSelected ? _activeStrokeColor : _hoveredStrokeColor
5718
- };
5719
- }
5720
-
5721
- drawPolygon({
5722
- ctx: ctx,
5723
- fillColor: style.fillColor,
5724
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5725
- lineWidth: style.lineWidth,
5726
- polygonOffsets: polygonOffsets,
5727
- strokeColor: style.strokeColor
5728
- });
5729
5729
  }
5730
5730
  };
5731
5731
  };
@@ -5817,7 +5817,41 @@
5817
5817
  return item.id;
5818
5818
  })) : new Set();
5819
5819
  var hoveredItemId = hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.id;
5820
- var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5820
+ var selectedItemId = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.id; // 1. 호버된 항목 그리기 (가장 위에 표시)
5821
+
5822
+ if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5823
+ var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5824
+
5825
+ if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5826
+
5827
+ var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5828
+
5829
+ var style = void 0;
5830
+
5831
+ if (customStyle) {
5832
+ var context = {
5833
+ isActive: isSelected && hoveredItem.id === selectedItemId,
5834
+ isHovered: !isSelected,
5835
+ isSelected: isSelected
5836
+ };
5837
+ style = customStyle(hoveredItem, context);
5838
+ } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5839
+
5840
+
5841
+ if (!style) {
5842
+ style = isSelected ? _activeStyle : _hoveredStyle;
5843
+ }
5844
+
5845
+ drawPolygon({
5846
+ ctx: ctx,
5847
+ fillColor: style.fillColor,
5848
+ isDonutPolygon: hoveredItem.isDonutPolygon || false,
5849
+ lineWidth: style.lineWidth,
5850
+ polygonOffsets: polygonOffsets,
5851
+ strokeColor: style.strokeColor
5852
+ });
5853
+ } // 2. 선택된 항목들 그리기 (마지막 선택 항목과 호버된 항목 제외)
5854
+
5821
5855
 
5822
5856
  if (selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length) {
5823
5857
  for (var _i = 0, selectedItems_5 = selectedItems; _i < selectedItems_5.length; _i++) {
@@ -5853,7 +5887,7 @@
5853
5887
  strokeColor: style.strokeColor
5854
5888
  });
5855
5889
  }
5856
- } // 2. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5890
+ } // 3. 마지막 선택된 항목 그리기 (호버되지 않은 경우)
5857
5891
 
5858
5892
 
5859
5893
  if ((selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.paths) && hoveredItemId !== selectedItemId) {
@@ -5886,40 +5920,6 @@
5886
5920
  strokeColor: style.strokeColor
5887
5921
  });
5888
5922
  }
5889
- } // 3. 호버된 항목 그리기 (가장 위에 표시)
5890
-
5891
-
5892
- if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.paths) {
5893
- var polygonOffsets = utils.getOrComputePolygonOffsets(hoveredItem); // 좌표 변환 실패 시 스킵 (return은 렌더링 함수 종료)
5894
-
5895
- if (!polygonOffsets) return; // 성능 최적화: Set을 사용하여 O(1) 조회 (이전: O(m) some() 체크)
5896
-
5897
- var isSelected = selectedIdsSet.has(hoveredItem.id); // customStyle이 있으면 우선 사용, 없거나 null/undefined 반환 시 기본 스타일 사용
5898
-
5899
- var style = void 0;
5900
-
5901
- if (customStyle) {
5902
- var context = {
5903
- isActive: isSelected && hoveredItem.id === selectedItemId,
5904
- isHovered: !isSelected,
5905
- isSelected: isSelected
5906
- };
5907
- style = customStyle(hoveredItem, context);
5908
- } // customStyle이 없거나 null/undefined를 반환하면 기본 스타일 사용
5909
-
5910
-
5911
- if (!style) {
5912
- style = isSelected ? _activeStyle : _hoveredStyle;
5913
- }
5914
-
5915
- drawPolygon({
5916
- ctx: ctx,
5917
- fillColor: style.fillColor,
5918
- isDonutPolygon: hoveredItem.isDonutPolygon || false,
5919
- lineWidth: style.lineWidth,
5920
- polygonOffsets: polygonOffsets,
5921
- strokeColor: style.strokeColor
5922
- });
5923
5923
  }
5924
5924
  };
5925
5925
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mint-ui/map",
3
- "version": "1.2.0-test.70",
3
+ "version": "1.2.0-test.71",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.es.js",
6
6
  "browser": "./dist/index.umd.js",