@fleet-frontend/mower-maps 0.0.2
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/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/3900c861790f0a9d.png +0 -0
- package/dist/config/constants.d.ts +122 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/edit.d.ts +48 -0
- package/dist/config/edit.d.ts.map +1 -0
- package/dist/config/index.d.ts +21 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/styles.d.ts +25 -0
- package/dist/config/styles.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +6837 -0
- package/dist/index.js +6842 -0
- package/dist/processor/MapDataProcessor.d.ts +31 -0
- package/dist/processor/MapDataProcessor.d.ts.map +1 -0
- package/dist/processor/PathDataProcessor.d.ts +28 -0
- package/dist/processor/PathDataProcessor.d.ts.map +1 -0
- package/dist/processor/builder/AntennaDataBuilder.d.ts +18 -0
- package/dist/processor/builder/AntennaDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/BoundaryDataBuilder.d.ts +17 -0
- package/dist/processor/builder/BoundaryDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/ChannelDataBuilder.d.ts +48 -0
- package/dist/processor/builder/ChannelDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/ChargingPileDataBuilder.d.ts +16 -0
- package/dist/processor/builder/ChargingPileDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/ObstacleDataBuilder.d.ts +20 -0
- package/dist/processor/builder/ObstacleDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/PathDataBuilder.d.ts +35 -0
- package/dist/processor/builder/PathDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/PointDataBuilder.d.ts +11 -0
- package/dist/processor/builder/PointDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/SvgElementDataBuilder.d.ts +16 -0
- package/dist/processor/builder/SvgElementDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/VisionOffDataBuilder.d.ts +20 -0
- package/dist/processor/builder/VisionOffDataBuilder.d.ts.map +1 -0
- package/dist/processor/builder/index.d.ts +10 -0
- package/dist/processor/builder/index.d.ts.map +1 -0
- package/dist/processor/index.d.ts +4 -0
- package/dist/processor/index.d.ts.map +1 -0
- package/dist/render/AntennaManager.d.ts +118 -0
- package/dist/render/AntennaManager.d.ts.map +1 -0
- package/dist/render/BoundaryLabelsManager.d.ts +145 -0
- package/dist/render/BoundaryLabelsManager.d.ts.map +1 -0
- package/dist/render/ChargingPileManager.d.ts +77 -0
- package/dist/render/ChargingPileManager.d.ts.map +1 -0
- package/dist/render/MowerMapOverlay.d.ts +105 -0
- package/dist/render/MowerMapOverlay.d.ts.map +1 -0
- package/dist/render/MowerMapRenderer.d.ts +11 -0
- package/dist/render/MowerMapRenderer.d.ts.map +1 -0
- package/dist/render/MowerPostionManager.d.ts +91 -0
- package/dist/render/MowerPostionManager.d.ts.map +1 -0
- package/dist/render/SvgMapView.d.ts +196 -0
- package/dist/render/SvgMapView.d.ts.map +1 -0
- package/dist/render/layers/AntennaLayer.d.ts +21 -0
- package/dist/render/layers/AntennaLayer.d.ts.map +1 -0
- package/dist/render/layers/BaseLayer.d.ts +56 -0
- package/dist/render/layers/BaseLayer.d.ts.map +1 -0
- package/dist/render/layers/BoundaryBorderLayer.d.ts +34 -0
- package/dist/render/layers/BoundaryBorderLayer.d.ts.map +1 -0
- package/dist/render/layers/BoundaryLayer.d.ts +21 -0
- package/dist/render/layers/BoundaryLayer.d.ts.map +1 -0
- package/dist/render/layers/ChannelLayer.d.ts +23 -0
- package/dist/render/layers/ChannelLayer.d.ts.map +1 -0
- package/dist/render/layers/ChargingPileLayer.d.ts +21 -0
- package/dist/render/layers/ChargingPileLayer.d.ts.map +1 -0
- package/dist/render/layers/DrawLayer.d.ts +39 -0
- package/dist/render/layers/DrawLayer.d.ts.map +1 -0
- package/dist/render/layers/ObstacleLayer.d.ts +18 -0
- package/dist/render/layers/ObstacleLayer.d.ts.map +1 -0
- package/dist/render/layers/PathLayer.d.ts +24 -0
- package/dist/render/layers/PathLayer.d.ts.map +1 -0
- package/dist/render/layers/PointLayer.d.ts +18 -0
- package/dist/render/layers/PointLayer.d.ts.map +1 -0
- package/dist/render/layers/SvgElementLayer.d.ts +23 -0
- package/dist/render/layers/SvgElementLayer.d.ts.map +1 -0
- package/dist/render/layers/VisionOffLayer.d.ts +17 -0
- package/dist/render/layers/VisionOffLayer.d.ts.map +1 -0
- package/dist/render/layers/index.d.ts +5 -0
- package/dist/render/layers/index.d.ts.map +1 -0
- package/dist/render/layers/types.d.ts +79 -0
- package/dist/render/layers/types.d.ts.map +1 -0
- package/dist/store/useSubBoundaryBorderStore.d.ts +11 -0
- package/dist/store/useSubBoundaryBorderStore.d.ts.map +1 -0
- package/dist/types/antenna.d.ts +15 -0
- package/dist/types/antenna.d.ts.map +1 -0
- package/dist/types/common.d.ts +26 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/edit.d.ts +34 -0
- package/dist/types/edit.d.ts.map +1 -0
- package/dist/types/elements.d.ts +67 -0
- package/dist/types/elements.d.ts.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/map.d.ts +41 -0
- package/dist/types/map.d.ts.map +1 -0
- package/dist/types/path.d.ts +43 -0
- package/dist/types/path.d.ts.map +1 -0
- package/dist/types/realTime.d.ts +20 -0
- package/dist/types/realTime.d.ts.map +1 -0
- package/dist/types/renderer.d.ts +94 -0
- package/dist/types/renderer.d.ts.map +1 -0
- package/dist/types/ui.d.ts +35 -0
- package/dist/types/ui.d.ts.map +1 -0
- package/dist/utils/boundaryUtils.d.ts +85 -0
- package/dist/utils/boundaryUtils.d.ts.map +1 -0
- package/dist/utils/coordinates.d.ts +23 -0
- package/dist/utils/coordinates.d.ts.map +1 -0
- package/dist/utils/display.d.ts +2 -0
- package/dist/utils/display.d.ts.map +1 -0
- package/dist/utils/formatUtils.d.ts +62 -0
- package/dist/utils/formatUtils.d.ts.map +1 -0
- package/dist/utils/handleRealTime.d.ts +16 -0
- package/dist/utils/handleRealTime.d.ts.map +1 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/mapBounds.d.ts +41 -0
- package/dist/utils/mapBounds.d.ts.map +1 -0
- package/dist/utils/math.d.ts +11 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/mower.d.ts +9 -0
- package/dist/utils/mower.d.ts.map +1 -0
- package/dist/utils/pathSegments.d.ts +21 -0
- package/dist/utils/pathSegments.d.ts.map +1 -0
- package/package.json +85 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PathData } from './path';
|
|
3
|
+
import { MapData } from './map';
|
|
4
|
+
import { RobotStatus } from '../config';
|
|
5
|
+
export interface DragState {
|
|
6
|
+
offsetX: number;
|
|
7
|
+
offsetY: number;
|
|
8
|
+
rotation: number;
|
|
9
|
+
isDragging: boolean;
|
|
10
|
+
isRotating: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface DragCallbacks {
|
|
13
|
+
onDragStart?: (state: DragState) => void;
|
|
14
|
+
onDragMove?: (state: DragState) => void;
|
|
15
|
+
onDragEnd?: (state: DragState) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface MapConfig {
|
|
18
|
+
showScale?: boolean;
|
|
19
|
+
fitToView?: boolean;
|
|
20
|
+
initialZoom?: number;
|
|
21
|
+
enableDrag?: boolean;
|
|
22
|
+
width?: number;
|
|
23
|
+
height?: number;
|
|
24
|
+
backgroundColor?: string;
|
|
25
|
+
borderRadius?: string;
|
|
26
|
+
border?: string;
|
|
27
|
+
useGoogleMaps?: boolean;
|
|
28
|
+
googleMapsApiKey?: string;
|
|
29
|
+
mapId?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PathConfig {
|
|
32
|
+
lineWidth?: number;
|
|
33
|
+
showEdgePaths?: boolean;
|
|
34
|
+
showTransPaths?: boolean;
|
|
35
|
+
showMowingPaths?: boolean;
|
|
36
|
+
edgePathColor?: string;
|
|
37
|
+
transPathColor?: string;
|
|
38
|
+
mowingPathColor?: string;
|
|
39
|
+
edgePathOpacity?: number;
|
|
40
|
+
transPathOpacity?: number;
|
|
41
|
+
mowingPathOpacity?: number;
|
|
42
|
+
}
|
|
43
|
+
export interface AntennaConfig {
|
|
44
|
+
id: number;
|
|
45
|
+
location_x: number;
|
|
46
|
+
location_y: number;
|
|
47
|
+
pn: string;
|
|
48
|
+
status: number;
|
|
49
|
+
timestamp: string;
|
|
50
|
+
type: number;
|
|
51
|
+
valid: number;
|
|
52
|
+
version: string;
|
|
53
|
+
}
|
|
54
|
+
export interface MowerPositonConfig {
|
|
55
|
+
postureTheta: number;
|
|
56
|
+
postureX: number;
|
|
57
|
+
postureY: number;
|
|
58
|
+
vehicleState: RobotStatus;
|
|
59
|
+
vehicleModel: string;
|
|
60
|
+
}
|
|
61
|
+
export interface MowerMapRendererProps {
|
|
62
|
+
mapJson?: MapData;
|
|
63
|
+
pathJson?: PathData;
|
|
64
|
+
mapConfig?: MapConfig;
|
|
65
|
+
pathConfig?: PathConfig;
|
|
66
|
+
antennaConfig?: AntennaConfig[];
|
|
67
|
+
mowerPositonConfig?: MowerPositonConfig;
|
|
68
|
+
onMapLoad?: (elementCount: number) => void;
|
|
69
|
+
onPathLoad?: (elementCount: number) => void;
|
|
70
|
+
onZoomChange?: (zoomLevel: number) => void;
|
|
71
|
+
onError?: (error: string) => void;
|
|
72
|
+
className?: string;
|
|
73
|
+
style?: React.CSSProperties;
|
|
74
|
+
googleMapInstance?: any;
|
|
75
|
+
isEditMode?: boolean;
|
|
76
|
+
dragCallbacks?: DragCallbacks;
|
|
77
|
+
}
|
|
78
|
+
export interface MowerMapRendererRef {
|
|
79
|
+
setZoom?: (zoom: number) => void;
|
|
80
|
+
getZoom?: () => number;
|
|
81
|
+
resetView?: () => void;
|
|
82
|
+
clear?: () => void;
|
|
83
|
+
getSvgElement?: () => SVGSVGElement | null;
|
|
84
|
+
fitToView?: () => void;
|
|
85
|
+
getOverlay?: () => any;
|
|
86
|
+
toggleOverlay?: (visible: boolean) => void;
|
|
87
|
+
setEditMode?: (enabled: boolean) => void;
|
|
88
|
+
getCurrentDragState?: () => DragState | null;
|
|
89
|
+
getElementCount?: () => number;
|
|
90
|
+
getPathCount?: () => number;
|
|
91
|
+
isGoogleMapsReady?: () => boolean;
|
|
92
|
+
handleRealTimeData?: (data: any) => any;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/types/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI组件相关类型定义
|
|
3
|
+
*/
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { MapData } from './map';
|
|
6
|
+
import { PathData, MowerPath } from './path';
|
|
7
|
+
import { LatLng } from './common';
|
|
8
|
+
export interface MowerMapVisualizerProps {
|
|
9
|
+
mapJson: MapData;
|
|
10
|
+
pathJson: PathData;
|
|
11
|
+
width?: number;
|
|
12
|
+
height?: number;
|
|
13
|
+
className?: string;
|
|
14
|
+
style?: React.CSSProperties;
|
|
15
|
+
onMapReady?: (canvas: HTMLCanvasElement) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface MowerMapTrackerProps {
|
|
18
|
+
paths: MowerPath[];
|
|
19
|
+
showCurrentPosition?: boolean;
|
|
20
|
+
animationSpeed?: number;
|
|
21
|
+
pathWidth?: number;
|
|
22
|
+
onPositionChange?: (position: LatLng) => void;
|
|
23
|
+
className?: string;
|
|
24
|
+
style?: React.CSSProperties;
|
|
25
|
+
}
|
|
26
|
+
export interface MowerPathRendererProps {
|
|
27
|
+
path: MowerPath;
|
|
28
|
+
showDirection?: boolean;
|
|
29
|
+
animated?: boolean;
|
|
30
|
+
pathWidth?: number;
|
|
31
|
+
pathColor?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
style?: React.CSSProperties;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/types/ui.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,SAAS,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { MapData } from '../types/map';
|
|
2
|
+
import { PathData } from '../types/path';
|
|
3
|
+
/**
|
|
4
|
+
* 边界数据接口
|
|
5
|
+
*/
|
|
6
|
+
export interface BoundaryData {
|
|
7
|
+
id: number;
|
|
8
|
+
name: string;
|
|
9
|
+
area: number;
|
|
10
|
+
points: number[][];
|
|
11
|
+
type: string;
|
|
12
|
+
avai_segs?: number;
|
|
13
|
+
base_angle?: number;
|
|
14
|
+
edge_vf?: number;
|
|
15
|
+
height_set?: number;
|
|
16
|
+
mow_edge?: number;
|
|
17
|
+
obstacle_mow_edge?: number;
|
|
18
|
+
rec_base_angle?: number;
|
|
19
|
+
finishedArea?: number;
|
|
20
|
+
partitionPercentage?: number;
|
|
21
|
+
partitionId?: number;
|
|
22
|
+
endTimeAlias?: number;
|
|
23
|
+
startTime?: number;
|
|
24
|
+
endTime?: number;
|
|
25
|
+
list?: any[];
|
|
26
|
+
subMapId?: number;
|
|
27
|
+
subMapName?: string;
|
|
28
|
+
subMapArea?: number;
|
|
29
|
+
containObstaclesId?: number[];
|
|
30
|
+
isIsolated?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 通过 mapData 和 pathData 生成所有 boundary 的数据
|
|
34
|
+
* @param mapData 地图数据
|
|
35
|
+
* @param pathData 路径数据
|
|
36
|
+
* @returns boundary 数据数组
|
|
37
|
+
*/
|
|
38
|
+
export declare function generateBoundaryData(mapData: MapData, pathData?: PathData): BoundaryData[];
|
|
39
|
+
/**
|
|
40
|
+
* 根据边界ID获取特定的边界数据
|
|
41
|
+
* @param mapData 地图数据
|
|
42
|
+
* @param pathData 路径数据
|
|
43
|
+
* @param boundaryId 边界ID
|
|
44
|
+
* @returns 边界数据或 null
|
|
45
|
+
*/
|
|
46
|
+
export declare function getBoundaryById(mapData: MapData, pathData: PathData | undefined, boundaryId: number): BoundaryData | null;
|
|
47
|
+
/**
|
|
48
|
+
* 获取所有边界的ID列表
|
|
49
|
+
* @param mapData 地图数据
|
|
50
|
+
* @returns 边界ID数组
|
|
51
|
+
*/
|
|
52
|
+
export declare function getBoundaryIds(mapData: MapData): number[];
|
|
53
|
+
/**
|
|
54
|
+
* 检查边界是否有路径数据
|
|
55
|
+
* @param boundary 边界数据
|
|
56
|
+
* @returns 是否有路径数据
|
|
57
|
+
*/
|
|
58
|
+
export declare function hasBoundaryPathData(boundary: BoundaryData): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* 获取边界的完成进度
|
|
61
|
+
* @param boundary 边界数据
|
|
62
|
+
* @returns 完成进度(百分比)
|
|
63
|
+
*/
|
|
64
|
+
export declare function getBoundaryProgress(boundary: BoundaryData): number;
|
|
65
|
+
/**
|
|
66
|
+
* 检查边界是否为孤立子区域
|
|
67
|
+
* @param boundary 边界数据
|
|
68
|
+
* @returns 是否为孤立子区域
|
|
69
|
+
*/
|
|
70
|
+
export declare function isBoundaryIsolated(boundary: BoundaryData): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* 获取所有孤立的边界数据
|
|
73
|
+
* @param mapData 地图数据
|
|
74
|
+
* @param pathData 路径数据
|
|
75
|
+
* @returns 孤立的边界数据数组
|
|
76
|
+
*/
|
|
77
|
+
export declare function getIsolatedBoundaries(mapData: MapData, pathData?: PathData): BoundaryData[];
|
|
78
|
+
/**
|
|
79
|
+
* 获取所有连接的边界数据
|
|
80
|
+
* @param mapData 地图数据
|
|
81
|
+
* @param pathData 路径数据
|
|
82
|
+
* @returns 连接的边界数据数组
|
|
83
|
+
*/
|
|
84
|
+
export declare function getConnectedBoundaries(mapData: MapData, pathData?: PathData): BoundaryData[];
|
|
85
|
+
//# sourceMappingURL=boundaryUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundaryUtils.d.ts","sourceRoot":"","sources":["../../src/utils/boundaryUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAGb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAsG1F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAQzH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAUlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG3F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG5F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 坐标点接口
|
|
3
|
+
*/
|
|
4
|
+
export interface Point {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 转换点格式,为坐标点添加缩放因子
|
|
10
|
+
* 保持原数组格式,只对前两个元素(x, y 坐标)应用缩放因子
|
|
11
|
+
* 支持二维或三维数组 [x, y] 或 [x, y, other]
|
|
12
|
+
*/
|
|
13
|
+
export declare function convertPointsFormat(points?: number[][]): number[][] | null;
|
|
14
|
+
/**
|
|
15
|
+
* 转换位置格式从 [number, number] 到 {x: number, y: number}
|
|
16
|
+
* 添加缩放因子将米转换为像素
|
|
17
|
+
*/
|
|
18
|
+
export declare function convertPositionFormat(position?: [number, number]): Point | null;
|
|
19
|
+
/**
|
|
20
|
+
* 转换单个坐标点
|
|
21
|
+
*/
|
|
22
|
+
export declare function convertCoordinate(x: number, y: number): Point;
|
|
23
|
+
//# sourceMappingURL=coordinates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../../src/utils/coordinates.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,IAAI,CAc1E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAO/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAK7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/utils/display.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,GAAG,IAAW,UAIpE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数据格式化转换类 - TypeScript版本
|
|
3
|
+
* 对应Java FormatUtils.java中的bytes2Int函数
|
|
4
|
+
*/
|
|
5
|
+
export declare class FormatUtils {
|
|
6
|
+
private static readonly TAG;
|
|
7
|
+
/**
|
|
8
|
+
* 从data数组的第0位开始取4个字节组成一个int型数
|
|
9
|
+
* 对应Java: public static int bytes2Int(byte[] data)
|
|
10
|
+
*
|
|
11
|
+
* @param data 源字节数组
|
|
12
|
+
* @returns 返回int型数
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* 从data数组的第position位置开始取4个字节组成int型数
|
|
16
|
+
* 对应Java: public static int bytes2Int(byte[] data, int offset, boolean bigEndian)
|
|
17
|
+
*
|
|
18
|
+
* @param data 源字节数组
|
|
19
|
+
* @param offset 要组成int型数据的起始位置
|
|
20
|
+
* @param bigEndian 是否为大端
|
|
21
|
+
* @returns 返回int型数
|
|
22
|
+
*/
|
|
23
|
+
static bytes2Int(data: Uint8Array, offset: number, bigEndian: boolean): number;
|
|
24
|
+
/**
|
|
25
|
+
* 从data数组的第position位置开始取几个字节组成int型数
|
|
26
|
+
* 对应Java: public static int bytes2Int(byte[] data, int offset, boolean bigEndian, int length)
|
|
27
|
+
*
|
|
28
|
+
* @param data 源字节数组
|
|
29
|
+
* @param offset 要组成int型数据的起始位置
|
|
30
|
+
* @param bigEndian 是否为大端
|
|
31
|
+
* @param length 取的字节长度
|
|
32
|
+
* @returns 返回int型数
|
|
33
|
+
*/
|
|
34
|
+
static bytes2IntWidthLength(data: Uint8Array, offset: number, bigEndian: boolean, length: number): number;
|
|
35
|
+
/**
|
|
36
|
+
* 手动处理字节到整数的转换(用于非标准长度)
|
|
37
|
+
*
|
|
38
|
+
* @param data 源字节数组
|
|
39
|
+
* @param offset 起始位置
|
|
40
|
+
* @param bigEndian 是否为大端
|
|
41
|
+
* @param length 字节长度
|
|
42
|
+
* @returns 转换后的整数
|
|
43
|
+
*/
|
|
44
|
+
private static manualBytes2Int;
|
|
45
|
+
/**
|
|
46
|
+
* 将字节数组转换为十六进制字符串
|
|
47
|
+
* 对应Java: public static String bytesToHex(byte[] bytes)
|
|
48
|
+
*
|
|
49
|
+
* @param bytes 字节数组
|
|
50
|
+
* @returns 十六进制字符串
|
|
51
|
+
*/
|
|
52
|
+
static bytesToHex(bytes: Uint8Array | null): string;
|
|
53
|
+
/**
|
|
54
|
+
* 将十六进制字符串转换为字节数组
|
|
55
|
+
* 对应Java: public static byte[] hexStringToByteArray(String s)
|
|
56
|
+
*
|
|
57
|
+
* @param s 十六进制字符串
|
|
58
|
+
* @returns 字节数组
|
|
59
|
+
*/
|
|
60
|
+
static hexStringToByteArray(s: string): Uint8Array | null;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=formatUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatUtils.d.ts","sourceRoot":"","sources":["../../src/utils/formatUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAiB;IAE5C;;;;;;OAMG;IAKH;;;;;;;;OAQG;WACW,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM;IAIrF;;;;;;;;;OASG;WACW,oBAAoB,CAChC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,GACb,MAAM;IAwCT;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyB9B;;;;;;OAMG;WACW,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM;IAiB1D;;;;;;OAMG;WACW,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;CAuBjE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RealTimeLocationType, RealTimeProcessType } from '../types/realTime';
|
|
2
|
+
import { MapData, PathData } from '../types';
|
|
3
|
+
export interface HandleRealTimeDataProps {
|
|
4
|
+
realTimeData: (RealTimeLocationType | RealTimeProcessType)[];
|
|
5
|
+
isMowing?: boolean;
|
|
6
|
+
mapData?: MapData;
|
|
7
|
+
pathData?: PathData;
|
|
8
|
+
partitionId?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const handleRealTimeData: ({ realTimeData, isMowing, mapData, pathData, partitionId, }: HandleRealTimeDataProps) => {
|
|
11
|
+
pathData: PathData;
|
|
12
|
+
isMowing: boolean;
|
|
13
|
+
currentPartitionId: string;
|
|
14
|
+
};
|
|
15
|
+
export { handleRealTimeData };
|
|
16
|
+
//# sourceMappingURL=handleRealTime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,EAAE,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA8ED,QAAA,MAAM,kBAAkB,GAAI,6DAMzB,uBAAuB;;;;CA6EzB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from '../config';
|
|
2
|
+
export * from './coordinates';
|
|
3
|
+
export * from './pathSegments';
|
|
4
|
+
export * from './mapBounds';
|
|
5
|
+
export * from './display';
|
|
6
|
+
export * from './boundaryUtils';
|
|
7
|
+
export * from './handleRealTime';
|
|
8
|
+
export * from './mower';
|
|
9
|
+
export * from './math';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Point } from './coordinates';
|
|
2
|
+
import { MapData, PathData } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 地图边界接口
|
|
5
|
+
*/
|
|
6
|
+
export interface MapBounds {
|
|
7
|
+
minX: number;
|
|
8
|
+
minY: number;
|
|
9
|
+
maxX: number;
|
|
10
|
+
maxY: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 计算地图边界
|
|
14
|
+
*/
|
|
15
|
+
export declare function calculateMapBounds(mapData: MapData, pathData?: PathData): MapBounds;
|
|
16
|
+
/**
|
|
17
|
+
* 扩展边界(添加边距)
|
|
18
|
+
*/
|
|
19
|
+
export declare function expandBounds(bounds: MapBounds, margin: number): MapBounds;
|
|
20
|
+
/**
|
|
21
|
+
* 获取边界的中心点
|
|
22
|
+
*/
|
|
23
|
+
export declare function getBoundsCenter(bounds: MapBounds): Point;
|
|
24
|
+
/**
|
|
25
|
+
* 获取边界的尺寸
|
|
26
|
+
*/
|
|
27
|
+
export declare function getBoundsSize(bounds: MapBounds): {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* 计算地图的GPS中心点
|
|
33
|
+
* 如果地图数据包含center_gps字段,则直接使用
|
|
34
|
+
* 否则,使用sw_gps和ne_gps计算中心点
|
|
35
|
+
* 如果GPS坐标无效,则尝试从几何边界估算,最后使用默认坐标
|
|
36
|
+
*/
|
|
37
|
+
export declare function calculateMapGpsCenter(mapData: MapData): {
|
|
38
|
+
lat: number;
|
|
39
|
+
lng: number;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=mapBounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapBounds.d.ts","sourceRoot":"","sources":["../../src/utils/mapBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAA8C,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAmGnF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAOzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAKxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKlF;AAyDD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAkDpF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 矫正deltaTheta的范围,防止iot通道下因为车端theta接近π值时跳变造成app显示小车图标旋转的问题
|
|
3
|
+
*
|
|
4
|
+
* @param postureTheta
|
|
5
|
+
* @return
|
|
6
|
+
*/
|
|
7
|
+
export declare function radNormalize(radian: number): number;
|
|
8
|
+
export declare function radToDegree(radian: number): number;
|
|
9
|
+
export declare function distance(x1: number, y1: number, x2: number, y2: number): number;
|
|
10
|
+
export declare function calAngle(x1: number, y1: number, x2: number, y2: number): number;
|
|
11
|
+
//# sourceMappingURL=math.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAO1C;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MowerPositonConfig } from '../types/renderer';
|
|
2
|
+
export declare function getMowerImageByModal(mowerModal: string): string;
|
|
3
|
+
export declare function getDisabledMowerImageByModal(mowerModal: string): string;
|
|
4
|
+
export declare function getNoPositionMowerImageByModal(mowerModal: string): string;
|
|
5
|
+
export declare function getMowerImage(positonConfig: MowerPositonConfig): string;
|
|
6
|
+
export declare function isNoPosture(posture?: number): boolean;
|
|
7
|
+
export declare function isInvalidPosition(positonConfig: MowerPositonConfig): boolean;
|
|
8
|
+
export declare function isOutOfRange(positonConfig: MowerPositonConfig): boolean;
|
|
9
|
+
//# sourceMappingURL=mower.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mower.d.ts","sourceRoot":"","sources":["../../src/utils/mower.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,UAStD;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,UAS9D;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,UAShE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,kBAAkB,UAiB9D;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,WAY3C;AAED,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,kBAAkB,WAMlE;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,kBAAkB,WAO7D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Point } from './coordinates';
|
|
2
|
+
import { PathDataItem } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* 路径段接口
|
|
5
|
+
*/
|
|
6
|
+
export interface PathSegment {
|
|
7
|
+
points: Point[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 路径段集合接口
|
|
11
|
+
*/
|
|
12
|
+
export interface PathSegmentsByType {
|
|
13
|
+
edge: PathSegment[];
|
|
14
|
+
mowing: PathSegment[];
|
|
15
|
+
trans: PathSegment[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 按Python逻辑创建路径段:根据连续的两点之间的关系确定线段类型
|
|
19
|
+
*/
|
|
20
|
+
export declare function createPathSegmentsByType(list: PathDataItem[]): PathSegmentsByType;
|
|
21
|
+
//# sourceMappingURL=pathSegments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pathSegments.d.ts","sourceRoot":"","sources":["../../src/utils/pathSegments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAgEjF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@fleet-frontend/mower-maps",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "a mower maps in google maps",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.esm.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md",
|
|
12
|
+
"LICENSE"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "rollup -c",
|
|
16
|
+
"test": "jest",
|
|
17
|
+
"lint": "eslint src",
|
|
18
|
+
"type-check": "tsc --noEmit",
|
|
19
|
+
"dev": "vite",
|
|
20
|
+
"dev:5173": "vite --port 5173",
|
|
21
|
+
"dev:build": "vite build",
|
|
22
|
+
"preview": "vite preview",
|
|
23
|
+
"clean": "rimraf dist",
|
|
24
|
+
"prepublishOnly": "pnpm run clean && pnpm run build",
|
|
25
|
+
"preversion": "pnpm run lint && pnpm run test",
|
|
26
|
+
"version": "git add -A src",
|
|
27
|
+
"postversion": "git push && git push --tags"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"mower",
|
|
31
|
+
"maps",
|
|
32
|
+
"react",
|
|
33
|
+
"google-maps",
|
|
34
|
+
"canvas",
|
|
35
|
+
"visualization",
|
|
36
|
+
"typescript"
|
|
37
|
+
],
|
|
38
|
+
"author": "",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
42
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
43
|
+
"@rollup/plugin-typescript": "^11.1.5",
|
|
44
|
+
"@rollup/plugin-url": "^8.0.2",
|
|
45
|
+
"@testing-library/jest-dom": "^6.1.4",
|
|
46
|
+
"@testing-library/react": "^13.4.0",
|
|
47
|
+
"@testing-library/user-event": "^14.5.1",
|
|
48
|
+
"@types/jest": "^29.5.8",
|
|
49
|
+
"@types/react": "^18.2.38",
|
|
50
|
+
"@types/react-dom": "^18.2.17",
|
|
51
|
+
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
|
52
|
+
"@typescript-eslint/parser": "^8.33.1",
|
|
53
|
+
"@vis.gl/react-google-maps": "^1.0.0",
|
|
54
|
+
"@vitejs/plugin-react": "^4.1.0",
|
|
55
|
+
"eslint": "^8.53.0",
|
|
56
|
+
"jest": "^29.7.0",
|
|
57
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
58
|
+
"react": "^18.2.0",
|
|
59
|
+
"react-dom": "^18.2.0",
|
|
60
|
+
"rimraf": "^6.0.1",
|
|
61
|
+
"rollup": "^4.4.0",
|
|
62
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
63
|
+
"ts-jest": "^29.3.4",
|
|
64
|
+
"tslib": "^2.6.2",
|
|
65
|
+
"typescript": "^5.2.2",
|
|
66
|
+
"vite": "^5.0.0"
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"@vis.gl/react-google-maps": ">=1.0.0",
|
|
70
|
+
"react": ">=16.8.0",
|
|
71
|
+
"react-dom": ">=16.8.0",
|
|
72
|
+
"@types/react": "^18.2.38",
|
|
73
|
+
"@types/react-dom": "^18.2.17"
|
|
74
|
+
},
|
|
75
|
+
"engines": {
|
|
76
|
+
"node": ">=14.0.0"
|
|
77
|
+
},
|
|
78
|
+
"publishConfig": {
|
|
79
|
+
"access": "public"
|
|
80
|
+
},
|
|
81
|
+
"dependencies": {
|
|
82
|
+
"tslib": "^2.6.2",
|
|
83
|
+
"zustand": "^5.0.6"
|
|
84
|
+
}
|
|
85
|
+
}
|