@mint-ui/map 1.2.0-test.62 → 1.2.0-test.63
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.
- package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/CanvasMarkerLayer.d.ts +91 -6
- package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/CanvasMarkerLayer.js +411 -57
- package/dist/components/mint-map/core/advanced/shared/types.d.ts +2 -0
- package/dist/index.es.js +411 -57
- package/dist/index.umd.js +411 -57
- package/package.json +1 -1
|
@@ -1,14 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { MarkerOptions } from '../../../types';
|
|
3
3
|
import { CanvasData, CustomRenderBase, CustomRenderEvent } from '../shared';
|
|
4
4
|
export { CanvasDataType, CanvasProvider, LRUCache, SpatialHashGrid } from '../shared';
|
|
5
5
|
export type { CanvasData, CanvasOption, CustomRenderBase, CustomRenderEvent, MarkerBoundingBox, RenderBaseParams, RenderEventParams, RenderUtils } from '../shared';
|
|
6
6
|
/**
|
|
7
|
-
* CanvasMarkerLayer Props
|
|
7
|
+
* CanvasMarkerLayer Props (renderEvent가 없는 경우 - 인터랙션 불가)
|
|
8
|
+
*
|
|
9
|
+
* @template T 마커 데이터의 추가 속성 타입
|
|
10
|
+
*/
|
|
11
|
+
interface CanvasMarkerLayerPropsWithoutEvent<T> extends Pick<MarkerOptions, 'zIndex' | 'anchor' | 'visible'> {
|
|
12
|
+
/** 렌더링할 마커 데이터 배열 */
|
|
13
|
+
data: CanvasData<T>[];
|
|
14
|
+
/** 뷰포트 컬링 활성화 여부 (기본값: false) */
|
|
15
|
+
enableViewportCulling?: boolean;
|
|
16
|
+
/** 뷰포트 컬링 여유 공간 (픽셀 단위, 기본값: 100) */
|
|
17
|
+
cullingMargin?: number;
|
|
18
|
+
/** LRU 캐시 최대 크기 (기본값: 10000) */
|
|
19
|
+
maxCacheSize?: number;
|
|
20
|
+
/** Base Layer 렌더링 함수 (필수) */
|
|
21
|
+
renderBase: CustomRenderBase<T>;
|
|
22
|
+
/** Event Layer 렌더링 함수가 없으면 인터랙션 관련 props 사용 불가 */
|
|
23
|
+
renderEvent?: never;
|
|
24
|
+
/** 인터랙션 관련 props는 renderEvent가 있을 때만 사용 가능 */
|
|
25
|
+
onClick?: never;
|
|
26
|
+
onMouseOver?: never;
|
|
27
|
+
onMouseOut?: never;
|
|
28
|
+
enableMultiSelect?: never;
|
|
29
|
+
topOnHover?: never;
|
|
30
|
+
selectedItems?: never;
|
|
31
|
+
selectedItem?: never;
|
|
32
|
+
disableInteraction?: never;
|
|
33
|
+
topStageZIndex?: never;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* CanvasMarkerLayer Props (renderEvent가 있는 경우 - 인터랙션 가능)
|
|
37
|
+
* topStageZIndex가 없을 때
|
|
8
38
|
*
|
|
9
39
|
* @template T 마커 데이터의 추가 속성 타입
|
|
10
40
|
*/
|
|
11
|
-
|
|
41
|
+
interface CanvasMarkerLayerPropsWithEventBase<T> extends Pick<MarkerOptions, 'zIndex' | 'anchor' | 'visible'> {
|
|
12
42
|
/** 렌더링할 마커 데이터 배열 */
|
|
13
43
|
data: CanvasData<T>[];
|
|
14
44
|
/** 마커 클릭 시 호출되는 콜백 함수 */
|
|
@@ -35,10 +65,65 @@ export interface CanvasMarkerLayerProps<T> extends Pick<MarkerOptions, 'zIndex'
|
|
|
35
65
|
disableInteraction?: boolean;
|
|
36
66
|
/** Base Layer 렌더링 함수 (필수) */
|
|
37
67
|
renderBase: CustomRenderBase<T>;
|
|
38
|
-
/** Event Layer 렌더링 함수 (
|
|
39
|
-
renderEvent
|
|
68
|
+
/** Event Layer 렌더링 함수 (필수 - 인터랙션 사용 시) */
|
|
69
|
+
renderEvent: CustomRenderEvent<T>;
|
|
70
|
+
/** Top Layer의 zIndex (hover된 항목을 최상단에 렌더링하기 위한 레이어, topOnHover가 true일 때만 사용 가능) */
|
|
71
|
+
topStageZIndex?: never;
|
|
40
72
|
}
|
|
41
|
-
|
|
73
|
+
/**
|
|
74
|
+
* CanvasMarkerLayer Props (renderEvent가 있는 경우 - 인터랙션 가능)
|
|
75
|
+
* topStageZIndex가 있을 때 (topOnHover가 반드시 true여야 함)
|
|
76
|
+
*
|
|
77
|
+
* @template T 마커 데이터의 추가 속성 타입
|
|
78
|
+
*/
|
|
79
|
+
interface CanvasMarkerLayerPropsWithEventWithTopStage<T> extends Pick<MarkerOptions, 'zIndex' | 'anchor' | 'visible'> {
|
|
80
|
+
/** 렌더링할 마커 데이터 배열 */
|
|
81
|
+
data: CanvasData<T>[];
|
|
82
|
+
/** 마커 클릭 시 호출되는 콜백 함수 */
|
|
83
|
+
onClick?: (payload: CanvasData<T>, selectedIds: Set<string>) => void;
|
|
84
|
+
/** 마커에 마우스 오버 시 호출되는 콜백 함수 */
|
|
85
|
+
onMouseOver?: (payload: CanvasData<T>) => void;
|
|
86
|
+
/** 마커에서 마우스 아웃 시 호출되는 콜백 함수 */
|
|
87
|
+
onMouseOut?: (payload: CanvasData<T>) => void;
|
|
88
|
+
/** 다중 선택 활성화 여부 (기본값: false) */
|
|
89
|
+
enableMultiSelect?: boolean;
|
|
90
|
+
/** hover 시 마커를 최상단으로 표시할지 여부 (topStageZIndex 사용 시 반드시 true) */
|
|
91
|
+
topOnHover: true;
|
|
92
|
+
/** 뷰포트 컬링 활성화 여부 (기본값: false) */
|
|
93
|
+
enableViewportCulling?: boolean;
|
|
94
|
+
/** 뷰포트 컬링 여유 공간 (픽셀 단위, 기본값: 100) */
|
|
95
|
+
cullingMargin?: number;
|
|
96
|
+
/** LRU 캐시 최대 크기 (기본값: 10000) */
|
|
97
|
+
maxCacheSize?: number;
|
|
98
|
+
/** 외부에서 제어하는 선택된 항목 배열 */
|
|
99
|
+
selectedItems?: CanvasData<T>[];
|
|
100
|
+
/** 외부에서 전달된 단일 선택 아이템 */
|
|
101
|
+
selectedItem?: CanvasData<T> | null;
|
|
102
|
+
/** 상호작용 비활성화 여부 (기본값: false) */
|
|
103
|
+
disableInteraction?: boolean;
|
|
104
|
+
/** Base Layer 렌더링 함수 (필수) */
|
|
105
|
+
renderBase: CustomRenderBase<T>;
|
|
106
|
+
/** Event Layer 렌더링 함수 (필수 - 인터랙션 사용 시) */
|
|
107
|
+
renderEvent: CustomRenderEvent<T>;
|
|
108
|
+
/** Top Layer의 zIndex (hover된 항목을 최상단에 렌더링하기 위한 레이어, topOnHover가 true일 때만 사용 가능) */
|
|
109
|
+
topStageZIndex: number;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* CanvasMarkerLayer Props (renderEvent가 있는 경우 - 인터랙션 가능)
|
|
113
|
+
*
|
|
114
|
+
* @template T 마커 데이터의 추가 속성 타입
|
|
115
|
+
*/
|
|
116
|
+
declare type CanvasMarkerLayerPropsWithEvent<T> = CanvasMarkerLayerPropsWithEventBase<T> | CanvasMarkerLayerPropsWithEventWithTopStage<T>;
|
|
117
|
+
/**
|
|
118
|
+
* CanvasMarkerLayer Props
|
|
119
|
+
*
|
|
120
|
+
* renderEvent가 없으면 인터랙션 관련 props를 사용할 수 없습니다.
|
|
121
|
+
* renderEvent가 있으면 모든 인터랙션 관련 props를 사용할 수 있습니다.
|
|
122
|
+
*
|
|
123
|
+
* @template T 마커 데이터의 추가 속성 타입
|
|
124
|
+
*/
|
|
125
|
+
export declare type CanvasMarkerLayerProps<T> = CanvasMarkerLayerPropsWithoutEvent<T> | CanvasMarkerLayerPropsWithEvent<T>;
|
|
126
|
+
declare const CanvasMarkerLayer: <T>(props: CanvasMarkerLayerProps<T>) => JSX.Element;
|
|
42
127
|
/**
|
|
43
128
|
* CanvasMarkerLayer - Konva 기반 고성능 마커 렌더링 컴포넌트
|
|
44
129
|
*
|