@fleet-frontend/mower-maps 0.2.5-beta.9 → 0.2.6-beta.1
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/config/constants.d.ts +3 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/styles.d.ts.map +1 -1
- package/dist/context/common.d.ts +17 -0
- package/dist/context/common.d.ts.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +2472 -409
- package/dist/index.js +2483 -407
- package/dist/render/BoundarySvgRender.d.ts +3 -1
- package/dist/render/BoundarySvgRender.d.ts.map +1 -1
- package/dist/render/MowerMapRenderer.d.ts.map +1 -1
- package/dist/render/MowerPartitionPickerMap.d.ts +17 -0
- package/dist/render/MowerPartitionPickerMap.d.ts.map +1 -0
- package/dist/render/antennas/useAntennaInfo.d.ts.map +1 -1
- package/dist/render/boundaryLabels/useBoundaryLabels.d.ts.map +1 -1
- package/dist/render/charginPile/index.d.ts +11 -1
- package/dist/render/charginPile/index.d.ts.map +1 -1
- package/dist/render/charginPile/useChargingPile.d.ts +11 -1
- package/dist/render/charginPile/useChargingPile.d.ts.map +1 -1
- package/dist/render/partitionPicker/constants.d.ts +165 -0
- package/dist/render/partitionPicker/constants.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/useBoundaryHover.d.ts +18 -0
- package/dist/render/partitionPicker/hooks/useBoundaryHover.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/useBoundarySelection.d.ts +20 -0
- package/dist/render/partitionPicker/hooks/useBoundarySelection.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/useContainerSize.d.ts +16 -0
- package/dist/render/partitionPicker/hooks/useContainerSize.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/useGoogleMapsOverlay.d.ts +31 -0
- package/dist/render/partitionPicker/hooks/useGoogleMapsOverlay.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/useIsolatedBoundaryIds.d.ts +6 -0
- package/dist/render/partitionPicker/hooks/useIsolatedBoundaryIds.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/useMapViewport.d.ts +53 -0
- package/dist/render/partitionPicker/hooks/useMapViewport.d.ts.map +1 -0
- package/dist/render/partitionPicker/hooks/usePartitionLabelItems.d.ts +22 -0
- package/dist/render/partitionPicker/hooks/usePartitionLabelItems.d.ts.map +1 -0
- package/dist/render/partitionPicker/index.d.ts +9 -0
- package/dist/render/partitionPicker/index.d.ts.map +1 -0
- package/dist/render/partitionPicker/layers/MapGridBackground.d.ts +22 -0
- package/dist/render/partitionPicker/layers/MapGridBackground.d.ts.map +1 -0
- package/dist/render/partitionPicker/layers/PartitionNameLabels.d.ts +21 -0
- package/dist/render/partitionPicker/layers/PartitionNameLabels.d.ts.map +1 -0
- package/dist/render/partitionPicker/layers/PartitionPickerGridSvg.d.ts +10 -0
- package/dist/render/partitionPicker/layers/PartitionPickerGridSvg.d.ts.map +1 -0
- package/dist/render/partitionPicker/layers/PartitionPickerSvg.d.ts +24 -0
- package/dist/render/partitionPicker/layers/PartitionPickerSvg.d.ts.map +1 -0
- package/dist/render/partitionPicker/layers/SelectableBoundaryElement.d.ts +34 -0
- package/dist/render/partitionPicker/layers/SelectableBoundaryElement.d.ts.map +1 -0
- package/dist/render/partitionPicker/types.d.ts +140 -0
- package/dist/render/partitionPicker/types.d.ts.map +1 -0
- package/dist/render/partitionPicker/viewportUtils.d.ts +102 -0
- package/dist/render/partitionPicker/viewportUtils.d.ts.map +1 -0
- package/dist/render/svgElement/ChannelClipPath/constants.d.ts +9 -0
- package/dist/render/svgElement/ChannelClipPath/constants.d.ts.map +1 -0
- package/dist/render/svgElement/ChannelElement/index.d.ts.map +1 -1
- package/dist/render/svgElement/ObstacleElement/index.d.ts.map +1 -1
- package/dist/render/svgElement/PolygonELement/components/Magnifier/index.d.ts.map +1 -1
- package/dist/render/svgElement/PolygonELement/components/Tooltip.d.ts.map +1 -1
- package/dist/render/svgElement/PolygonELement/index.d.ts.map +1 -1
- package/dist/render/svgElement/TransformWrapper/DoodleTransformWrapper/DoodleTransformWrapper.d.ts.map +1 -1
- package/dist/render/svgElement/TransformWrapper/VisionOffTransformWrapper/VisionOffTransformWrapper.d.ts.map +1 -1
- package/dist/types/renderer.d.ts +21 -0
- package/dist/types/renderer.d.ts.map +1 -1
- package/dist/utils/dateTimeUtils.d.ts +6 -2
- package/dist/utils/dateTimeUtils.d.ts.map +1 -1
- package/dist/utils/googleStaticMapSign.d.ts +17 -0
- package/dist/utils/googleStaticMapSign.d.ts.map +1 -0
- package/dist/utils/mapBounds.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -6,9 +6,11 @@ interface BoundarySvgRenderProps {
|
|
|
6
6
|
unStructMapData: UnstructMapData;
|
|
7
7
|
id: number;
|
|
8
8
|
maxWidth?: number;
|
|
9
|
+
maxHeight?: number;
|
|
10
|
+
boundaryPadding?: number;
|
|
9
11
|
mapConfig?: MapConfig;
|
|
10
12
|
sn?: string;
|
|
11
13
|
}
|
|
12
|
-
declare const BoundarySvgRender: React.MemoExoticComponent<({ mapJson, unStructMapData, id, maxWidth, mapConfig, sn }: BoundarySvgRenderProps) => import("react/jsx-runtime").JSX.Element>;
|
|
14
|
+
declare const BoundarySvgRender: React.MemoExoticComponent<({ mapJson, unStructMapData, id, maxWidth, maxHeight, boundaryPadding, mapConfig, sn, }: BoundarySvgRenderProps) => import("react/jsx-runtime").JSX.Element>;
|
|
13
15
|
export default BoundarySvgRender;
|
|
14
16
|
//# sourceMappingURL=BoundarySvgRender.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoundarySvgRender.d.ts","sourceRoot":"","sources":["../../src/render/BoundarySvgRender.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"BoundarySvgRender.d.ts","sourceRoot":"","sources":["../../src/render/BoundarySvgRender.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAK9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAO3C,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAID,QAAA,MAAM,iBAAiB,qHAUlB,sBAAsB,6CAkJ1B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MowerMapRenderer.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MowerMapRenderer.d.ts","sourceRoot":"","sources":["../../src/render/MowerMapRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAwBf,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AA2B3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC;KACb;CACF;AAMD,eAAO,MAAM,gBAAgB,mGA+1B5B,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAChC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 分区选择地图
|
|
3
|
+
*
|
|
4
|
+
* 与 MowerMapRenderer 同级入口;实现细节见 render/partitionPicker/。
|
|
5
|
+
*
|
|
6
|
+
* 两种运行模式(由是否传入 mapRef 决定,见 isMapMode):
|
|
7
|
+
* - Standalone:网格 SVG + viewBox 平移/缩放,自包含固定容器
|
|
8
|
+
* - Map 模式:Google Maps 底图 + OverlayViewF 叠加层,对齐 MowerMapRenderer
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import { MowerPartitionPickerMapProps, MowerPartitionPickerMapRef } from './partitionPicker/types';
|
|
12
|
+
export declare const MowerPartitionPickerMap: React.ForwardRefExoticComponent<MowerPartitionPickerMapProps & React.RefAttributes<MowerPartitionPickerMapRef>>;
|
|
13
|
+
export default MowerPartitionPickerMap;
|
|
14
|
+
export type { MowerPartitionPickerMapProps, MowerPartitionPickerMapRef, CssLength } from './partitionPicker/types';
|
|
15
|
+
export type { PartitionPickerStyleConfig, PartitionPickerBoundaryColors, PartitionPickerLabelStyles, PartitionPickerGridStyle, ResolvedPartitionPickerStyles, } from './partitionPicker/constants';
|
|
16
|
+
export { resolvePartitionPickerStyles, getPartitionPickerColors, getPartitionPickerLabelStyles, PARTITION_PICKER_COLORS_WEB, PARTITION_PICKER_COLORS_H5, PARTITION_PICKER_LABEL_STYLES_WEB, PARTITION_PICKER_LABEL_STYLES_H5, } from './partitionPicker/constants';
|
|
17
|
+
//# sourceMappingURL=MowerPartitionPickerMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MowerPartitionPickerMap.d.ts","sourceRoot":"","sources":["../../src/render/MowerPartitionPickerMap.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAON,MAAM,OAAO,CAAC;AAoBf,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAgBnG,eAAO,MAAM,uBAAuB,iHAkZnC,CAAC;AAIF,eAAe,uBAAuB,CAAC;AAEvC,YAAY,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnH,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAntennaInfo.d.ts","sourceRoot":"","sources":["../../../src/render/antennas/useAntennaInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useAntennaInfo.d.ts","sourceRoot":"","sources":["../../../src/render/antennas/useAntennaInfo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQxC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,GAAI,OAAM,aAAa,EAAO,EAAE,UAAS,qBAA0B;;;CA2F7F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBoundaryLabels.d.ts","sourceRoot":"","sources":["../../../src/render/boundaryLabels/useBoundaryLabels.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useBoundaryLabels.d.ts","sourceRoot":"","sources":["../../../src/render/boundaryLabels/useBoundaryLabels.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAmB,YAAY,EAAE,MAAM,SAAS,CAAC;AAGxD,UAAU,wBAAwB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,GAAI,qFAQ/B,wBAAwB;;;CA2G1B,CAAC"}
|
|
@@ -7,10 +7,20 @@ interface ChargingPileProps {
|
|
|
7
7
|
height: number;
|
|
8
8
|
} | null;
|
|
9
9
|
rotation?: number;
|
|
10
|
+
/**
|
|
11
|
+
* 视图旋转补偿模式,默认 overlay-parent(MowerMapRenderer);
|
|
12
|
+
* PartitionPicker 使用 svg-transform
|
|
13
|
+
*/
|
|
14
|
+
viewRotationMode?: 'overlay-parent' | 'svg-transform';
|
|
15
|
+
/** 提供时按 meet + 地图旋转计算位置(PartitionPicker 等场景) */
|
|
16
|
+
containerWidth?: number;
|
|
17
|
+
containerHeight?: number;
|
|
10
18
|
sizeScale?: number;
|
|
11
19
|
sizeInSvgUnits?: boolean;
|
|
20
|
+
/** 放大镜等场景:屏幕像素下限,避免图标过小与通道线错位感(仅与 sizeInSvgUnits 一起生效) */
|
|
21
|
+
minDisplaySizePx?: number;
|
|
12
22
|
isHighlight?: boolean;
|
|
13
23
|
}
|
|
14
|
-
declare const CharginPile: React.MemoExoticComponent<({ viewBox, rotation, sizeScale, sizeInSvgUnits, isHighlight, }: ChargingPileProps) => import("react/jsx-runtime").JSX.Element>;
|
|
24
|
+
declare const CharginPile: React.MemoExoticComponent<({ viewBox, rotation, viewRotationMode, containerWidth, containerHeight, sizeScale, sizeInSvgUnits, minDisplaySizePx, isHighlight, }: ChargingPileProps) => import("react/jsx-runtime").JSX.Element>;
|
|
15
25
|
export default CharginPile;
|
|
16
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/charginPile/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/charginPile/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAIvC,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,WAAW,kKAWZ,iBAAiB,6CA8DrB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -6,6 +6,16 @@ interface UseChargingPileOptions {
|
|
|
6
6
|
height: number;
|
|
7
7
|
} | null;
|
|
8
8
|
rotation?: number;
|
|
9
|
+
/**
|
|
10
|
+
* 视图旋转补偿模式:
|
|
11
|
+
* - overlay-parent:父层 CSS rotate(MowerMapRenderer / PartitionPicker overlay 层),
|
|
12
|
+
* 位置不预旋转,图标角度 = rotationDegree - rotation
|
|
13
|
+
* - svg-transform:无父层旋转、由 SVG 内旋转驱动位置时,图标角度保持 rotationDegree(屏幕视觉不变)
|
|
14
|
+
*/
|
|
15
|
+
viewRotationMode?: 'overlay-parent' | 'svg-transform';
|
|
16
|
+
/** 提供时按 meet + 地图旋转计算 overlay 位置(PartitionPicker 等场景) */
|
|
17
|
+
containerWidth?: number;
|
|
18
|
+
containerHeight?: number;
|
|
9
19
|
}
|
|
10
20
|
interface ChargingPileItem {
|
|
11
21
|
leftPct: number;
|
|
@@ -14,6 +24,6 @@ interface ChargingPileItem {
|
|
|
14
24
|
rotateDeg: number;
|
|
15
25
|
imageSrc: string;
|
|
16
26
|
}
|
|
17
|
-
export declare const useChargingPile: ({ viewBox, rotation }: UseChargingPileOptions) => ChargingPileItem[];
|
|
27
|
+
export declare const useChargingPile: ({ viewBox, rotation, viewRotationMode, containerWidth, containerHeight, }: UseChargingPileOptions) => ChargingPileItem[];
|
|
18
28
|
export {};
|
|
19
29
|
//# sourceMappingURL=useChargingPile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChargingPile.d.ts","sourceRoot":"","sources":["../../../src/render/charginPile/useChargingPile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useChargingPile.d.ts","sourceRoot":"","sources":["../../../src/render/charginPile/useChargingPile.ts"],"names":[],"mappings":"AAOA,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IACtD,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,GAAI,2EAM7B,sBAAsB,uBA2ExB,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { MapConfig, PlatformType } from '@/types';
|
|
3
|
+
/** ChannelClipPath 等内容裁剪使用的 SVG 坐标边距(与用户传入的屏幕 padding 无关) */
|
|
4
|
+
export declare const PARTITION_PICKER_CONTENT_CLIP_PADDING = 50;
|
|
5
|
+
/** H5:子区域屏幕宽度超过该值才展示名称标签(px) */
|
|
6
|
+
export declare const H5_PARTITION_LABEL_MIN_SCREEN_WIDTH_PX = 72;
|
|
7
|
+
/** H5:名称气泡总宽度(px) */
|
|
8
|
+
export declare const H5_PARTITION_LABEL_WIDTH_PX = 72;
|
|
9
|
+
/** H5:名称文案最大宽度(px),可换行 */
|
|
10
|
+
export declare const H5_PARTITION_LABEL_TEXT_MAX_WIDTH_PX = 60;
|
|
11
|
+
/** H5:序号徽章与名称标签间距(px) */
|
|
12
|
+
export declare const H5_SELECTION_ORDER_GAP_PX = 4;
|
|
13
|
+
/** 边界线目标屏幕像素宽度(默认态,全缩放级别保持一致) */
|
|
14
|
+
export declare const PARTITION_BOUNDARY_TARGET_SCREEN_STROKE_PX = 2;
|
|
15
|
+
/** 边界线目标屏幕像素宽度(hover / 选中态) */
|
|
16
|
+
export declare const PARTITION_BOUNDARY_EMPHASIZED_TARGET_SCREEN_STROKE_PX = 2.5;
|
|
17
|
+
/**
|
|
18
|
+
* Figma bg/mapping 地图网格背景(Standalone SVG 层)
|
|
19
|
+
* @see https://www.figma.com/design/j0DdUYf8VFkXQ8ikkA6ZzP — node 20490:84886
|
|
20
|
+
*/
|
|
21
|
+
/** 网格区域底色,也用于容器 letterbox 留白 */
|
|
22
|
+
export declare const PARTITION_PICKER_GRID_BASE_COLOR = "#E3E5EB";
|
|
23
|
+
/** 网格单元边长(SVG 地图坐标,与 viewBox 一致;zoom 时间距同比缩放) */
|
|
24
|
+
export declare const PARTITION_PICKER_GRID_TILE_SIZE = 200;
|
|
25
|
+
/** 网格线宽(地图坐标;随 zoom 同比缩放,不做屏幕像素恒定) */
|
|
26
|
+
export declare const PARTITION_PICKER_GRID_LINE_WIDTH = 4;
|
|
27
|
+
/** 网格交点圆点半径(地图坐标) */
|
|
28
|
+
export declare const PARTITION_PICKER_GRID_DOT_RADIUS = 8;
|
|
29
|
+
/** 网格层整体不透明度(Figma 约 80%) */
|
|
30
|
+
export declare const PARTITION_PICKER_GRID_OPACITY = 0.8;
|
|
31
|
+
/** 网格线与交点颜色 */
|
|
32
|
+
export declare const PARTITION_PICKER_GRID_STROKE = "#FFFFFF";
|
|
33
|
+
/** 可见范围内交点超过该数量时跳过圆点,仅保留网格线(缩小视野时减轻 DOM 压力) */
|
|
34
|
+
export declare const PARTITION_PICKER_GRID_MAX_INTERSECTION_DOTS = 400;
|
|
35
|
+
/**
|
|
36
|
+
* 分区选择地图专用样式
|
|
37
|
+
*
|
|
38
|
+
* Web:Figma 灰蓝未选中地块(Vector 360)
|
|
39
|
+
* H5:高对比度绿色,面向卫星/深色底图
|
|
40
|
+
*/
|
|
41
|
+
export declare const PARTITION_PICKER_MAP_CONFIG_WEB: MapConfig;
|
|
42
|
+
export declare const PARTITION_PICKER_MAP_CONFIG: MapConfig;
|
|
43
|
+
export interface PartitionPickerBoundaryColors {
|
|
44
|
+
defaultFill: string;
|
|
45
|
+
defaultStroke: string;
|
|
46
|
+
defaultStrokeWidth: number;
|
|
47
|
+
hoverFill: string;
|
|
48
|
+
hoverStroke: string;
|
|
49
|
+
hoverStrokeWidth: number;
|
|
50
|
+
selectedFill: string;
|
|
51
|
+
selectedStroke: string;
|
|
52
|
+
selectedStrokeWidth: number;
|
|
53
|
+
selectedHoverFill: string;
|
|
54
|
+
selectedHoverStroke: string;
|
|
55
|
+
selectedHoverStrokeWidth: number;
|
|
56
|
+
isolatedFill: string;
|
|
57
|
+
isolatedStroke: string;
|
|
58
|
+
isolatedStrokeWidth: number;
|
|
59
|
+
}
|
|
60
|
+
/** Web 端地块配色(Figma Vector 360 / 361 / 99788) */
|
|
61
|
+
export declare const PARTITION_PICKER_COLORS_WEB: PartitionPickerBoundaryColors;
|
|
62
|
+
/** H5 端地块配色 */
|
|
63
|
+
export declare const PARTITION_PICKER_COLORS_H5: PartitionPickerBoundaryColors;
|
|
64
|
+
/** @deprecated 使用 getPartitionPickerColors */
|
|
65
|
+
export declare const PARTITION_PICKER_COLORS: PartitionPickerBoundaryColors;
|
|
66
|
+
export declare function getPartitionPickerMapConfig(platform?: PlatformType): MapConfig;
|
|
67
|
+
export declare function getPartitionPickerColors(platform?: PlatformType): PartitionPickerBoundaryColors;
|
|
68
|
+
/** 分区名气泡单态样式(默认 / 选中) */
|
|
69
|
+
export interface PartitionPickerLabelAppearance {
|
|
70
|
+
backgroundColor?: string;
|
|
71
|
+
/** 选中态渐变背景,与 backgroundColor 二选一 */
|
|
72
|
+
background?: string;
|
|
73
|
+
color: string;
|
|
74
|
+
fontSize: number;
|
|
75
|
+
fontWeight: number | string;
|
|
76
|
+
padding: string;
|
|
77
|
+
borderRadius: number;
|
|
78
|
+
width?: string;
|
|
79
|
+
boxSizing?: CSSProperties['boxSizing'];
|
|
80
|
+
border?: string;
|
|
81
|
+
boxShadow?: string;
|
|
82
|
+
fontFamily?: string;
|
|
83
|
+
letterSpacing?: string;
|
|
84
|
+
lineHeight?: string;
|
|
85
|
+
}
|
|
86
|
+
/** 分区名气泡 + 序号徽章样式集 */
|
|
87
|
+
export interface PartitionPickerLabelStyles {
|
|
88
|
+
default: Omit<PartitionPickerLabelAppearance, 'width'> & {
|
|
89
|
+
width?: string;
|
|
90
|
+
};
|
|
91
|
+
selected: Omit<PartitionPickerLabelAppearance, 'width'> & {
|
|
92
|
+
width?: string;
|
|
93
|
+
};
|
|
94
|
+
selectionOrderBadge: {
|
|
95
|
+
width?: string;
|
|
96
|
+
height?: string;
|
|
97
|
+
background: string;
|
|
98
|
+
border: string;
|
|
99
|
+
color: string;
|
|
100
|
+
fontSize: number;
|
|
101
|
+
fontWeight: number | string;
|
|
102
|
+
fontFamily?: string;
|
|
103
|
+
lineHeight: string;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/** Web 分区名气泡(Figma「地块名称」/ 选中区域) */
|
|
107
|
+
export declare const PARTITION_PICKER_LABEL_STYLES_WEB: PartitionPickerLabelStyles;
|
|
108
|
+
/** H5 分区名气泡(深色底图 / 橙色渐变选中) */
|
|
109
|
+
export declare const PARTITION_PICKER_LABEL_STYLES_H5: PartitionPickerLabelStyles;
|
|
110
|
+
/** 将 PartitionPickerLabelAppearance 转为 React 内联样式 */
|
|
111
|
+
export declare function labelAppearanceToStyle(appearance: PartitionPickerLabelStyles['default'] | PartitionPickerLabelStyles['selected']): CSSProperties;
|
|
112
|
+
export declare function getPartitionPickerLabelStyles(platform?: PlatformType): PartitionPickerLabelStyles;
|
|
113
|
+
/** Standalone 网格底图样式 */
|
|
114
|
+
export interface PartitionPickerGridStyle {
|
|
115
|
+
baseColor: string;
|
|
116
|
+
strokeColor: string;
|
|
117
|
+
tileSize: number;
|
|
118
|
+
lineWidth: number;
|
|
119
|
+
dotRadius: number;
|
|
120
|
+
opacity: number;
|
|
121
|
+
maxIntersectionDots: number;
|
|
122
|
+
}
|
|
123
|
+
export declare const DEFAULT_PARTITION_PICKER_GRID_STYLE: PartitionPickerGridStyle;
|
|
124
|
+
/** 地块描边屏幕像素恒定目标 */
|
|
125
|
+
export interface PartitionPickerBoundaryStrokePx {
|
|
126
|
+
default: number;
|
|
127
|
+
emphasized: number;
|
|
128
|
+
}
|
|
129
|
+
export declare const DEFAULT_PARTITION_PICKER_BOUNDARY_STROKE_PX: PartitionPickerBoundaryStrokePx;
|
|
130
|
+
/**
|
|
131
|
+
* 分区选择器外观配置(由外部传入,与内置默认值深度合并)
|
|
132
|
+
*
|
|
133
|
+
* - boundary:地块 default / hover / selected / isolated 配色
|
|
134
|
+
* - labels:分区名气泡与序号徽章
|
|
135
|
+
* - grid:Standalone 网格底图(Map 模式不使用)
|
|
136
|
+
* - boundaryStrokePx:描边换算时的屏幕像素目标
|
|
137
|
+
* - labelMinScreenWidthPx:H5 名称标签最小展示宽度
|
|
138
|
+
*/
|
|
139
|
+
export interface PartitionPickerStyleConfig {
|
|
140
|
+
boundary?: Partial<PartitionPickerBoundaryColors>;
|
|
141
|
+
labels?: {
|
|
142
|
+
default?: Partial<PartitionPickerLabelStyles['default']>;
|
|
143
|
+
selected?: Partial<PartitionPickerLabelStyles['selected']>;
|
|
144
|
+
selectionOrderBadge?: Partial<PartitionPickerLabelStyles['selectionOrderBadge']>;
|
|
145
|
+
};
|
|
146
|
+
grid?: Partial<PartitionPickerGridStyle>;
|
|
147
|
+
boundaryStrokePx?: Partial<PartitionPickerBoundaryStrokePx>;
|
|
148
|
+
labelMinScreenWidthPx?: number;
|
|
149
|
+
}
|
|
150
|
+
export interface ResolvedPartitionPickerStyles {
|
|
151
|
+
/** 地块 default / hover / selected / isolated 最终配色 */
|
|
152
|
+
boundary: PartitionPickerBoundaryColors;
|
|
153
|
+
/** 分区名气泡 + 序号徽章最终样式 */
|
|
154
|
+
labels: PartitionPickerLabelStyles;
|
|
155
|
+
/** Standalone 网格底图最终样式 */
|
|
156
|
+
grid: PartitionPickerGridStyle;
|
|
157
|
+
boundaryStrokePx: PartitionPickerBoundaryStrokePx;
|
|
158
|
+
labelMinScreenWidthPx: number;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* 将 platform 内置默认值与外部 pickerStyleConfig 深度合并。
|
|
162
|
+
* 调用方只需覆盖变化的字段,无需改组件源码。
|
|
163
|
+
*/
|
|
164
|
+
export declare function resolvePartitionPickerStyles(platform?: PlatformType, config?: PartitionPickerStyleConfig): ResolvedPartitionPickerStyles;
|
|
165
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/render/partitionPicker/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface UseBoundaryHoverOptions {
|
|
2
|
+
hoveredBoundaryId?: number | null;
|
|
3
|
+
defaultHoveredBoundaryId?: number | null;
|
|
4
|
+
onBoundaryHoverChange?: (id: number | null) => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* 地块 hover 状态管理(受控 / 非受控)
|
|
8
|
+
*
|
|
9
|
+
* 用于地图与外部表格等 UI 双向联动:
|
|
10
|
+
* - 地图 hover → onBoundaryHoverChange → 宿主更新表格行高亮
|
|
11
|
+
* - 表格 hover → 宿主传入 hoveredBoundaryId → 地图同步高亮
|
|
12
|
+
*/
|
|
13
|
+
export declare function useBoundaryHover({ hoveredBoundaryId, defaultHoveredBoundaryId, onBoundaryHoverChange, }: UseBoundaryHoverOptions): {
|
|
14
|
+
hoveredId: number;
|
|
15
|
+
setHoveredId: (id: number | null) => void;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=useBoundaryHover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBoundaryHover.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/useBoundaryHover.ts"],"names":[],"mappings":"AAEA,UAAU,uBAAuB;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,iBAAiB,EACjB,wBAA+B,EAC/B,qBAAqB,GACtB,EAAE,uBAAuB;;uBAQjB,MAAM,GAAG,IAAI;EAarB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface UseBoundarySelectionOptions {
|
|
2
|
+
selectedBoundaryIds?: number[];
|
|
3
|
+
defaultSelectedBoundaryIds?: number[];
|
|
4
|
+
onSelectionChange?: (ids: number[]) => void;
|
|
5
|
+
/** 不可选中的地块 id(如孤立子地块) */
|
|
6
|
+
disabledBoundaryIds?: Set<number>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 地块多选状态管理(受控 / 非受控)
|
|
10
|
+
*
|
|
11
|
+
* - 传入 selectedBoundaryIds → 受控,由宿主维护选中列表(如表格勾选)
|
|
12
|
+
* - 未传入 → 非受控,内部维护,仍可通过 onSelectionChange 感知变化
|
|
13
|
+
*/
|
|
14
|
+
export declare function useBoundarySelection({ selectedBoundaryIds, defaultSelectedBoundaryIds, onSelectionChange, disabledBoundaryIds, }: UseBoundarySelectionOptions): {
|
|
15
|
+
selectedIds: number[];
|
|
16
|
+
toggleBoundary: (id: number) => void;
|
|
17
|
+
setSelectedIds: (ids: number[]) => void;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=useBoundarySelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBoundarySelection.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/useBoundarySelection.ts"],"names":[],"mappings":"AAEA,UAAU,2BAA2B;IACnC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,yBAAyB;IACzB,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AAOD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,mBAAmB,EACnB,0BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,GACpB,EAAE,2BAA2B;;yBAsBrB,MAAM;0BAZL,MAAM,EAAE;EA2BjB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CssLength } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* 将 width/height(px 或 CSS length)应用到容器,并用 ResizeObserver 测量实际像素尺寸
|
|
4
|
+
* 供 fit、标签定位、线宽换算等逻辑使用
|
|
5
|
+
*/
|
|
6
|
+
export declare function useContainerSize(width: CssLength, height: CssLength): {
|
|
7
|
+
containerRef: import("react").MutableRefObject<HTMLDivElement>;
|
|
8
|
+
layoutStyle: {
|
|
9
|
+
width: string | number;
|
|
10
|
+
height: string | number;
|
|
11
|
+
};
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
isReady: boolean;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useContainerSize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContainerSize.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/useContainerSize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAkBrC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;;;;;;;;;EA4CnE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MapData, PlatformType } from '@/types';
|
|
2
|
+
import { PartitionPickerMapTransform, ViewBox, ScreenPaddingInput } from '../types';
|
|
3
|
+
interface UseGoogleMapsOverlayOptions {
|
|
4
|
+
mapJson: MapData;
|
|
5
|
+
/** 传入 google.maps.Map 时启用;未传则 hook 返回空状态 */
|
|
6
|
+
mapRef?: google.maps.Map | null;
|
|
7
|
+
defaultTransform?: PartitionPickerMapTransform;
|
|
8
|
+
/** mapJson.map_north_offset 换算后的度数 */
|
|
9
|
+
originNorthRotate: number;
|
|
10
|
+
platform?: PlatformType;
|
|
11
|
+
padding?: ScreenPaddingInput;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Map 模式专用:管理 OverlayViewF 所需的 bounds、viewBox、缩放与 fitBounds。
|
|
15
|
+
* 逻辑对齐 MowerMapRenderer 的 Google Maps 叠加层。
|
|
16
|
+
*/
|
|
17
|
+
export declare function useGoogleMapsOverlay({ mapJson, mapRef, defaultTransform, originNorthRotate, platform, padding, }: UseGoogleMapsOverlayOptions): {
|
|
18
|
+
actureRotate: number;
|
|
19
|
+
bounds: any;
|
|
20
|
+
svgViewBox: ViewBox;
|
|
21
|
+
fitViewBox: ViewBox;
|
|
22
|
+
overlayWidth: number;
|
|
23
|
+
overlayHeight: number;
|
|
24
|
+
overlayScale: number;
|
|
25
|
+
isOverlayReady: boolean;
|
|
26
|
+
handleOverlayDraw: (style: Record<string, string>) => void;
|
|
27
|
+
fitToView: (nextPadding?: ScreenPaddingInput) => void;
|
|
28
|
+
resetView: () => void;
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=useGoogleMapsOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGoogleMapsOverlay.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/useGoogleMapsOverlay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAA0B,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAU5G,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,2BAA2B,CAAC;IAC/C,sCAAsC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,QAA2B,EAC3B,OAAY,GACb,EAAE,2BAA2B;;;;;;;;;+BAiEkB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;8BAiBnD,kBAAkB;;EA2FpC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MapData } from '@/types';
|
|
2
|
+
/** 计算地图中不可选中的孤立子地块 id 集合 */
|
|
3
|
+
export declare function useIsolatedBoundaryIds(mapJson: MapData): Set<number>;
|
|
4
|
+
/** 供宿主(如表格)判断某地块是否不可选 */
|
|
5
|
+
export declare function getIsolatedBoundaryIds(mapJson: MapData): number[];
|
|
6
|
+
//# sourceMappingURL=useIsolatedBoundaryIds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsolatedBoundaryIds.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/useIsolatedBoundaryIds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,4BAA4B;AAC5B,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,eAWtD;AAED,yBAAyB;AACzB,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAIjE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { MapData } from '@/types';
|
|
3
|
+
import { ViewBox, ScreenPaddingInput } from '../types';
|
|
4
|
+
interface UseMapViewportOptions {
|
|
5
|
+
/** 地图 JSON 数据,用于计算包围盒与初始 fit */
|
|
6
|
+
mapJson: MapData;
|
|
7
|
+
/** 地图容器 ref(与 useContainerSize 共用同一 DOM) */
|
|
8
|
+
containerRef?: RefObject<HTMLDivElement | null>;
|
|
9
|
+
/** 容器实测宽度(px) */
|
|
10
|
+
width: number;
|
|
11
|
+
/** 容器实测高度(px) */
|
|
12
|
+
height: number;
|
|
13
|
+
/** 默认 fit 时四边留出的屏幕边距(px),语法同 CSS padding */
|
|
14
|
+
padding: ScreenPaddingInput;
|
|
15
|
+
/** 最小缩放倍数,默认 0.5(视野最大为 fit 的 2 倍) */
|
|
16
|
+
minZoom?: number;
|
|
17
|
+
/** 最大缩放倍数,默认 4 */
|
|
18
|
+
maxZoom?: number;
|
|
19
|
+
/** 是否启用平移/缩放交互 */
|
|
20
|
+
enablePanZoom?: boolean;
|
|
21
|
+
/** 容器尺寸变化时是否重新 fit,默认 true */
|
|
22
|
+
refitOnResize?: boolean;
|
|
23
|
+
/** 在容器内按下并抬起且未发生明显位移时触发(用于地块点击选中) */
|
|
24
|
+
onViewportTap?: (target: Element) => void;
|
|
25
|
+
/** 地图内容旋转角(度),用于修正平移方向与屏幕手势一致 */
|
|
26
|
+
mapRotationDeg?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Standalone 模式下的视口控制:平移、滚轮缩放、H5 双指 pinch
|
|
30
|
+
*
|
|
31
|
+
* 核心思路:通过修改 SVG viewBox 实现平移/缩放,而非 CSS transform
|
|
32
|
+
* - fitViewBox:初始 fit 状态,resetView 回到此状态
|
|
33
|
+
* - viewBox:地块/通道/overlay 的可见区域
|
|
34
|
+
* - gridViewBox:网格底图专用;有地图旋转时平移按屏幕方向(不逆旋转),与地块跟手平移解耦
|
|
35
|
+
*
|
|
36
|
+
* 平移可在地块/分区名等任意区域发起;仅当位移小于阈值时才视为点击
|
|
37
|
+
*/
|
|
38
|
+
export declare function useMapViewport({ mapJson, containerRef: externalContainerRef, width, height, padding, minZoom, maxZoom, enablePanZoom, refitOnResize, onViewportTap, mapRotationDeg, }: UseMapViewportOptions): {
|
|
39
|
+
/** 绑定到地图外层容器的 ref */
|
|
40
|
+
containerRef: RefObject<HTMLDivElement>;
|
|
41
|
+
/** 地块/通道/overlay 使用的 viewBox */
|
|
42
|
+
viewBox: ViewBox;
|
|
43
|
+
/** 网格底图 viewBox(平移按屏幕方向,与旋转地块解耦) */
|
|
44
|
+
gridViewBox: ViewBox;
|
|
45
|
+
/** 初始 fit viewBox,供 clip path 等需要稳定坐标系的场景 */
|
|
46
|
+
fitViewBox: ViewBox;
|
|
47
|
+
/** 恢复到初始 fit 状态 */
|
|
48
|
+
resetView: () => void;
|
|
49
|
+
/** 重新 fit 地图到容器(可传新 padding) */
|
|
50
|
+
fitToView: (nextPadding?: ScreenPaddingInput) => void;
|
|
51
|
+
};
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=useMapViewport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMapViewport.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/useMapViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAWvD,UAAU,qBAAqB;IAC7B,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,OAAO,EAAE,kBAAkB,CAAC;IAC5B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,iCAAiC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0CD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,YAAY,EAAE,oBAAoB,EAClC,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAa,EACb,OAAW,EACX,aAAoB,EACpB,aAAoB,EACpB,aAAa,EACb,cAAkB,GACnB,EAAE,qBAAqB;IAmhBpB,qBAAqB;;IAErB,gCAAgC;;IAEhC,oCAAoC;;IAEpC,6CAA6C;;IAE7C,mBAAmB;;IAEnB,gCAAgC;8BA/TjB,kBAAkB;EAkUpC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MapData } from '@/types';
|
|
2
|
+
import { ViewBox } from '../types';
|
|
3
|
+
/** 分区名气泡渲染所需的数据 */
|
|
4
|
+
export interface PartitionLabelItem {
|
|
5
|
+
id: number;
|
|
6
|
+
name: string;
|
|
7
|
+
/** 相对容器的水平位置(百分比) */
|
|
8
|
+
leftPct: number;
|
|
9
|
+
/** 相对容器的垂直位置(百分比) */
|
|
10
|
+
topPct: number;
|
|
11
|
+
/** 当前视口下子区域包围盒屏幕宽度(px),H5 名称/序号展示规则使用 */
|
|
12
|
+
screenWidthPx: number;
|
|
13
|
+
isIsolated?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 根据当前「显示 viewBox」计算分区名气泡位置(不预旋转;由 mapOverlayLayer CSS rotate 处理)
|
|
17
|
+
*/
|
|
18
|
+
export declare function usePartitionLabelItems(mapData: MapData, viewBox: ViewBox | null, containerWidth: number, containerHeight: number, options?: {
|
|
19
|
+
/** overlay:Map 模式百分比定位;meet:Standalone preserveAspectRatio meet */
|
|
20
|
+
positionMode?: 'overlay' | 'meet';
|
|
21
|
+
}): PartitionLabelItem[];
|
|
22
|
+
//# sourceMappingURL=usePartitionLabelItems.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePartitionLabelItems.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/hooks/usePartitionLabelItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,mBAAmB;AACnB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAqED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;IACR,mEAAmE;IACnE,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CACnC,wBAgEF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated 请从 render/MowerPartitionPickerMap 导入组件入口。
|
|
3
|
+
* 本文件保留 re-export,兼容旧路径。
|
|
4
|
+
*/
|
|
5
|
+
export { default, MowerPartitionPickerMap, } from '../MowerPartitionPickerMap';
|
|
6
|
+
export type { MowerPartitionPickerMapProps, MowerPartitionPickerMapRef, CssLength } from './types';
|
|
7
|
+
export type { PartitionPickerStyleConfig, PartitionPickerBoundaryColors, PartitionPickerLabelStyles, PartitionPickerGridStyle, ResolvedPartitionPickerStyles, } from './constants';
|
|
8
|
+
export { resolvePartitionPickerStyles, getPartitionPickerColors, getPartitionPickerLabelStyles, PARTITION_PICKER_COLORS_WEB, PARTITION_PICKER_COLORS_H5, PARTITION_PICKER_LABEL_STYLES_WEB, PARTITION_PICKER_LABEL_STYLES_H5, } from './constants';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/render/partitionPicker/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,OAAO,EACP,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnG,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,0BAA0B,EAC1B,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 地图网格背景层(SVG 最底层)
|
|
3
|
+
*
|
|
4
|
+
* 对应 Figma `bg/mapping`:灰底 + 白色网格线/交点圆点。
|
|
5
|
+
*
|
|
6
|
+
* 实现要点:
|
|
7
|
+
* - 与地块共用 viewBox,平移/缩放时背景跟随移动
|
|
8
|
+
* - 线:`<pattern patternUnits="userSpaceOnUse">` 平铺,线宽为地图坐标(随 zoom 同比缩放)
|
|
9
|
+
* - 点:仅在网格交点处单独绘制完整圆,避免在 pattern 里画圆导致每格四角出现四分之一弧
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import { PartitionPickerGridStyle } from '../constants';
|
|
13
|
+
import { ViewBox } from '../types';
|
|
14
|
+
interface MapGridBackgroundProps {
|
|
15
|
+
/** 当前可见 viewBox,背景 rect 与其对齐 */
|
|
16
|
+
viewBox: ViewBox;
|
|
17
|
+
/** 网格底色、线色、间距等(可由 pickerStyleConfig.grid 自定义) */
|
|
18
|
+
gridStyle: PartitionPickerGridStyle;
|
|
19
|
+
}
|
|
20
|
+
declare const _default: React.MemoExoticComponent<({ viewBox, gridStyle }: MapGridBackgroundProps) => import("react/jsx-runtime").JSX.Element>;
|
|
21
|
+
export default _default;
|
|
22
|
+
//# sourceMappingURL=MapGridBackground.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapGridBackground.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/layers/MapGridBackground.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,UAAU,sBAAsB;IAC9B,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,iDAAiD;IACjD,SAAS,EAAE,wBAAwB,CAAC;CACrC;2EA+BkD,sBAAsB;AAyFzE,wBAAuC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PlatformType } from '@/types';
|
|
2
|
+
import { PartitionLabelItem } from '../hooks/usePartitionLabelItems';
|
|
3
|
+
import { PartitionPickerLabelStyles } from '../constants';
|
|
4
|
+
interface PartitionNameLabelsProps {
|
|
5
|
+
items: PartitionLabelItem[];
|
|
6
|
+
selectedIds: number[];
|
|
7
|
+
/** 分区名气泡 + 序号徽章样式(已合并 pickerStyleConfig) */
|
|
8
|
+
labelStyles: PartitionPickerLabelStyles;
|
|
9
|
+
/** H5 名称标签最小展示宽度(px),可由 pickerStyleConfig.labelMinScreenWidthPx 覆盖 */
|
|
10
|
+
labelMinScreenWidthPx?: number;
|
|
11
|
+
platform?: PlatformType;
|
|
12
|
+
showSelectionOrder?: boolean;
|
|
13
|
+
/** 地图叠加层旋转角(度),用于反向补偿以保持文字水平 */
|
|
14
|
+
rotation?: number;
|
|
15
|
+
onHoverChange: (id: number | null) => void;
|
|
16
|
+
/** Map 模式:点击标签切换选中(Standalone 由 viewport 统一处理) */
|
|
17
|
+
onBoundaryClick?: (id: number) => void;
|
|
18
|
+
}
|
|
19
|
+
declare const PartitionNameLabels: ({ items, selectedIds, labelStyles, labelMinScreenWidthPx, platform, showSelectionOrder, rotation, onHoverChange, onBoundaryClick, }: PartitionNameLabelsProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export default PartitionNameLabels;
|
|
21
|
+
//# sourceMappingURL=PartitionNameLabels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionNameLabels.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/layers/PartitionNameLabels.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EACL,0BAA0B,EAE3B,MAAM,cAAc,CAAC;AAGtB,UAAU,wBAAwB;IAChC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,4CAA4C;IAC5C,WAAW,EAAE,0BAA0B,CAAC;IACxC,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,kDAAkD;IAClD,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,QAAA,MAAM,mBAAmB,GAAI,qIAU1B,wBAAwB,4CAmG1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PartitionPickerGridStyle } from '../constants';
|
|
2
|
+
import { ViewBox } from '../types';
|
|
3
|
+
interface PartitionPickerGridSvgProps {
|
|
4
|
+
viewBox: ViewBox;
|
|
5
|
+
/** Standalone 网格底图样式(Map 模式不渲染本层) */
|
|
6
|
+
gridStyle: PartitionPickerGridStyle;
|
|
7
|
+
}
|
|
8
|
+
declare const PartitionPickerGridSvg: ({ viewBox, gridStyle }: PartitionPickerGridSvgProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default PartitionPickerGridSvg;
|
|
10
|
+
//# sourceMappingURL=PartitionPickerGridSvg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartitionPickerGridSvg.d.ts","sourceRoot":"","sources":["../../../../src/render/partitionPicker/layers/PartitionPickerGridSvg.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,UAAU,2BAA2B;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,SAAS,EAAE,wBAAwB,CAAC;CACrC;AAED,QAAA,MAAM,sBAAsB,GAAI,wBAAwB,2BAA2B,4CAgBlF,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ProcessedDataMap } from '@/processor/unified/BaseData';
|
|
2
|
+
import { PartitionPickerBoundaryColors, PartitionPickerBoundaryStrokePx } from '../constants';
|
|
3
|
+
import { ViewBox } from '../types';
|
|
4
|
+
interface PartitionPickerSvgProps {
|
|
5
|
+
svgElementDatas: ProcessedDataMap;
|
|
6
|
+
viewBox: ViewBox;
|
|
7
|
+
fitViewBox: ViewBox;
|
|
8
|
+
containerWidth: number;
|
|
9
|
+
containerHeight: number;
|
|
10
|
+
/** 地图内容旋转角(度),绕当前 viewBox 中心;Map 模式传 0,旋转由 OverlayViewF 处理 */
|
|
11
|
+
mapRotation?: number;
|
|
12
|
+
/** 地块交互态配色(resolvePartitionPickerStyles 输出) */
|
|
13
|
+
boundaryColors: PartitionPickerBoundaryColors;
|
|
14
|
+
/** 描边屏幕像素恒定目标 */
|
|
15
|
+
boundaryStrokePx?: PartitionPickerBoundaryStrokePx;
|
|
16
|
+
isolatedBoundaryIds: Set<number>;
|
|
17
|
+
selectedIds: number[];
|
|
18
|
+
hoveredId: number | null;
|
|
19
|
+
onHoverChange: (id: number | null) => void;
|
|
20
|
+
onBoundaryClick?: (id: number) => void;
|
|
21
|
+
}
|
|
22
|
+
declare const PartitionPickerSvg: ({ svgElementDatas, viewBox, fitViewBox, containerWidth, containerHeight, mapRotation, boundaryColors, boundaryStrokePx, isolatedBoundaryIds, selectedIds, hoveredId, onHoverChange, onBoundaryClick, }: PartitionPickerSvgProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default PartitionPickerSvg;
|
|
24
|
+
//# sourceMappingURL=PartitionPickerSvg.d.ts.map
|