@fleet-frontend/mower-maps 0.2.5-beta.32 → 0.2.5-beta.34

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.
@@ -37,6 +37,8 @@ interface CommonContextType {
37
37
  /** 宿主服务端签名回调(优先于 googleMapStaticUrlSigningSecret) */
38
38
  signGoogleStaticMapUrl?: (unsignedUrl: string) => Promise<string> | string;
39
39
  onH5FirstSelectObstaclePoint?: () => void;
40
+ /** MowerMap 实例创建时内部生成的通道 clipPath id,同一实例内共用 */
41
+ channelClipPathId?: string;
40
42
  }
41
43
  export declare const CommonContext: import("react").Context<{
42
44
  sn: string;
@@ -68,6 +70,7 @@ export declare const CommonContext: import("react").Context<{
68
70
  locale: {};
69
71
  signGoogleStaticMapUrl: any;
70
72
  onH5FirstSelectObstaclePoint: any;
73
+ channelClipPathId: string;
71
74
  }>;
72
75
  export declare const CommonContextProvider: import("react").Provider<{
73
76
  sn: string;
@@ -99,6 +102,7 @@ export declare const CommonContextProvider: import("react").Provider<{
99
102
  locale: {};
100
103
  signGoogleStaticMapUrl: any;
101
104
  onH5FirstSelectObstaclePoint: any;
105
+ channelClipPathId: string;
102
106
  }>;
103
107
  export declare const useCommonContext: () => CommonContextType;
104
108
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/context/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACjC,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC3E,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3C;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBxB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,yBAAqD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/context/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,MAAM,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACjC,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC3E,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1C,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BxB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAC;AAE5D,eAAO,MAAM,gBAAgB,yBAAqD,CAAC"}
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import React__default, { memo, useMemo, useEffect, useState, useRef, useCallback, createContext, useContext, useLayoutEffect, forwardRef, useImperativeHandle } from 'react';
3
+ import React__default, { memo, useMemo, useEffect, useState, useRef, useCallback, createContext, useContext, useLayoutEffect, forwardRef, useImperativeHandle, useId } from 'react';
4
4
  import ReactDOM, { createPortal } from 'react-dom';
5
5
 
6
6
  function globals (defs) {
@@ -22709,12 +22709,13 @@ const CommonContext = createContext({
22709
22709
  locale: {},
22710
22710
  signGoogleStaticMapUrl: undefined,
22711
22711
  onH5FirstSelectObstaclePoint: undefined,
22712
+ channelClipPathId: '',
22712
22713
  });
22713
22714
  const CommonContextProvider = CommonContext.Provider;
22714
22715
  const useCommonContext = () => useContext(CommonContext);
22715
22716
 
22716
22717
  const ChannelClipPath = React__default.memo(() => {
22717
- const { svgViewBox, sn } = useCommonContext();
22718
+ const { svgViewBox, channelClipPathId } = useCommonContext();
22718
22719
  const { svgElementDatas } = useSvgEditContext();
22719
22720
  const boundaryData = svgElementDatas?.[DataType.BOUNDARY] || [];
22720
22721
  const [minX, minY, maxX, maxY] = useMemo(() => {
@@ -22893,7 +22894,7 @@ const ChannelClipPath = React__default.memo(() => {
22893
22894
  });
22894
22895
  return baseD;
22895
22896
  }, [boundaryData, minX, minY, maxX, maxY]);
22896
- return (jsx("defs", { children: jsx("clipPath", { id: `channel-clip-path-${sn}`, fillRule: "evenodd", children: jsx("path", { d: d }) }) }));
22897
+ return (jsx("defs", { children: jsx("clipPath", { id: channelClipPathId, fillRule: "evenodd", children: jsx("path", { d: d }) }) }));
22897
22898
  });
22898
22899
 
22899
22900
  /**
@@ -22955,9 +22956,9 @@ const VertexElement = React__default.memo(({ r, stroke, fill, ...props }) => {
22955
22956
  });
22956
22957
 
22957
22958
  var _path$1;
22958
- function _extends$8() { return _extends$8 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$8.apply(null, arguments); }
22959
+ function _extends$5() { return _extends$5 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$5.apply(null, arguments); }
22959
22960
  var SvgDelete = function SvgDelete(props) {
22960
- return /*#__PURE__*/React.createElement("svg", _extends$8({
22961
+ return /*#__PURE__*/React.createElement("svg", _extends$5({
22961
22962
  xmlns: "http://www.w3.org/2000/svg",
22962
22963
  width: 16,
22963
22964
  height: 16,
@@ -25382,7 +25383,8 @@ const BoundaryElement = ({ data, isHover }) => {
25382
25383
  };
25383
25384
 
25384
25385
  const ChannelElement = ({ data }) => {
25385
- const { sn } = useCommonContext();
25386
+ const { channelClipPathId } = useCommonContext();
25387
+ const clipPathUrl = `url(#${channelClipPathId})`;
25386
25388
  const points = data.points;
25387
25389
  const style = data.style;
25388
25390
  let pathData = `M ${points[0][0]} ${points[0][1]}`;
@@ -25392,7 +25394,7 @@ const ChannelElement = ({ data }) => {
25392
25394
  const topLineWidth = dp2px(style.lineWidth).toString();
25393
25395
  const bottomLineWidth = dp2px(style.bottomLineWidth).toString();
25394
25396
  const dashLength = dp2px(style.lineWidth);
25395
- return (jsxs("g", { id: data.id.toString(), children: [jsx("path", { d: pathData, fill: "none", stroke: "#8498A9", strokeWidth: bottomLineWidth, strokeLinejoin: "round", opacity: style.opacity || 1, style: { clipPath: `url(#channel-clip-path-${sn})` } }), jsx("path", { d: pathData, fill: "none", stroke: "#FFFFFF", strokeWidth: topLineWidth, strokeLinejoin: "round", strokeDasharray: `${dashLength * 2} ${dashLength}`, opacity: style.opacity || 1, style: { clipPath: `url(#channel-clip-path-${sn})` } })] }));
25397
+ return (jsxs("g", { id: data.id.toString(), children: [jsx("path", { d: pathData, fill: "none", stroke: "#8498A9", strokeWidth: bottomLineWidth, strokeLinejoin: "round", opacity: style.opacity || 1, style: { clipPath: clipPathUrl } }), jsx("path", { d: pathData, fill: "none", stroke: "#FFFFFF", strokeWidth: topLineWidth, strokeLinejoin: "round", strokeDasharray: `${dashLength * 2} ${dashLength}`, opacity: style.opacity || 1, style: { clipPath: clipPathUrl } })] }));
25396
25398
  };
25397
25399
 
25398
25400
  /**
@@ -25985,15 +25987,15 @@ const useVisionOffTransform = (data, scaleConstraints
25985
25987
  };
25986
25988
  };
25987
25989
 
25988
- var _g$6, _defs$6;
25989
- function _extends$7() { return _extends$7 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$7.apply(null, arguments); }
25990
+ var _g$3, _defs$3;
25991
+ function _extends$4() { return _extends$4 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$4.apply(null, arguments); }
25990
25992
  var SvgTransformDelete = function SvgTransformDelete(props) {
25991
- return /*#__PURE__*/React.createElement("svg", _extends$7({
25993
+ return /*#__PURE__*/React.createElement("svg", _extends$4({
25992
25994
  xmlns: "http://www.w3.org/2000/svg",
25993
25995
  width: 20,
25994
25996
  height: 20,
25995
25997
  fill: "none"
25996
- }, props), _g$6 || (_g$6 = /*#__PURE__*/React.createElement("g", {
25998
+ }, props), _g$3 || (_g$3 = /*#__PURE__*/React.createElement("g", {
25997
25999
  clipPath: "url(#transform-delete_svg__a)"
25998
26000
  }, /*#__PURE__*/React.createElement("circle", {
25999
26001
  cx: 10,
@@ -26016,7 +26018,7 @@ var SvgTransformDelete = function SvgTransformDelete(props) {
26016
26018
  fill: "#fff",
26017
26019
  rx: 0.8,
26018
26020
  transform: "rotate(45 6.323 5.191)"
26019
- }))), _defs$6 || (_defs$6 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26021
+ }))), _defs$3 || (_defs$3 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26020
26022
  id: "transform-delete_svg__b",
26021
26023
  x1: 17.727,
26022
26024
  x2: -1.215,
@@ -26036,15 +26038,15 @@ var SvgTransformDelete = function SvgTransformDelete(props) {
26036
26038
  })))));
26037
26039
  };
26038
26040
 
26039
- var _g$5, _defs$5;
26040
- function _extends$6() { return _extends$6 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$6.apply(null, arguments); }
26041
+ var _g$2, _defs$2;
26042
+ function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
26041
26043
  var SvgTransformRotate = function SvgTransformRotate(props) {
26042
- return /*#__PURE__*/React.createElement("svg", _extends$6({
26044
+ return /*#__PURE__*/React.createElement("svg", _extends$3({
26043
26045
  xmlns: "http://www.w3.org/2000/svg",
26044
26046
  width: 21,
26045
26047
  height: 20,
26046
26048
  fill: "none"
26047
- }, props), _g$5 || (_g$5 = /*#__PURE__*/React.createElement("g", {
26049
+ }, props), _g$2 || (_g$2 = /*#__PURE__*/React.createElement("g", {
26048
26050
  clipPath: "url(#transform-rotate_svg__a)"
26049
26051
  }, /*#__PURE__*/React.createElement("path", {
26050
26052
  fill: "url(#transform-rotate_svg__b)",
@@ -26052,7 +26054,7 @@ var SvgTransformRotate = function SvgTransformRotate(props) {
26052
26054
  }), /*#__PURE__*/React.createElement("path", {
26053
26055
  fill: "#fff",
26054
26056
  d: "M11.602 14.719a5.447 5.447 0 0 1-6.608-5.116l-.004-.205a.818.818 0 0 1 1.633-.084l.004.084.01.285a3.81 3.81 0 0 0 2.127 3.137l.26.115a3.8 3.8 0 0 0 2.227.184l.276-.071q.29-.088.561-.219l-1.147-.441a.817.817 0 0 1 .587-1.525l2.54.977a.817.817 0 0 1 .316 1.308l.001.001a5.45 5.45 0 0 1-2.783 1.57M8.623 4.548a5.447 5.447 0 0 1 6.608 5.116l.004.204a.818.818 0 0 1-1.633.084l-.004-.084-.01-.284a3.81 3.81 0 0 0-2.127-3.138l-.26-.115a3.8 3.8 0 0 0-2.227-.184l-.276.072q-.29.087-.561.218l1.147.442a.817.817 0 0 1-.586 1.524l-2.542-.976a.817.817 0 0 1-.315-1.309 5.45 5.45 0 0 1 2.782-1.57"
26055
- }))), _defs$5 || (_defs$5 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26057
+ }))), _defs$2 || (_defs$2 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26056
26058
  id: "transform-rotate_svg__b",
26057
26059
  x1: 17.84,
26058
26060
  x2: -1.103,
@@ -26072,15 +26074,15 @@ var SvgTransformRotate = function SvgTransformRotate(props) {
26072
26074
  })))));
26073
26075
  };
26074
26076
 
26075
- var _g$4, _defs$4;
26076
- function _extends$5() { return _extends$5 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$5.apply(null, arguments); }
26077
+ var _g$1, _defs$1;
26078
+ function _extends$2() { return _extends$2 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$2.apply(null, arguments); }
26077
26079
  var SvgTransformScale = function SvgTransformScale(props) {
26078
- return /*#__PURE__*/React.createElement("svg", _extends$5({
26080
+ return /*#__PURE__*/React.createElement("svg", _extends$2({
26079
26081
  xmlns: "http://www.w3.org/2000/svg",
26080
26082
  width: 21,
26081
26083
  height: 20,
26082
26084
  fill: "none"
26083
- }, props), _g$4 || (_g$4 = /*#__PURE__*/React.createElement("g", {
26085
+ }, props), _g$1 || (_g$1 = /*#__PURE__*/React.createElement("g", {
26084
26086
  clipPath: "url(#transform-scale_svg__a)"
26085
26087
  }, /*#__PURE__*/React.createElement("path", {
26086
26088
  fill: "url(#transform-scale_svg__b)",
@@ -26088,7 +26090,7 @@ var SvgTransformScale = function SvgTransformScale(props) {
26088
26090
  }), /*#__PURE__*/React.createElement("path", {
26089
26091
  fill: "#fff",
26090
26092
  d: "M5.078 8.265a.8.8 0 0 0 1.6.001v-.544l5.69 5.69h-.494a.8.8 0 0 0 0 1.6l2.474-.002a.8.8 0 0 0 .311-.062.8.8 0 0 0 .49-.738v-2.474a.8.8 0 1 0-1.6 0v.594L7.81 6.59h.544a.8.8 0 0 0 0-1.6H5.879a.8.8 0 0 0-.8.8z"
26091
- }))), _defs$4 || (_defs$4 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26093
+ }))), _defs$1 || (_defs$1 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26092
26094
  id: "transform-scale_svg__b",
26093
26095
  x1: 17.84,
26094
26096
  x2: -1.103,
@@ -26108,15 +26110,15 @@ var SvgTransformScale = function SvgTransformScale(props) {
26108
26110
  })))));
26109
26111
  };
26110
26112
 
26111
- var _g$3, _defs$3;
26112
- function _extends$4() { return _extends$4 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$4.apply(null, arguments); }
26113
+ var _g, _defs;
26114
+ function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
26113
26115
  var SvgTransformTranslate = function SvgTransformTranslate(props) {
26114
- return /*#__PURE__*/React.createElement("svg", _extends$4({
26116
+ return /*#__PURE__*/React.createElement("svg", _extends$1({
26115
26117
  xmlns: "http://www.w3.org/2000/svg",
26116
26118
  width: 20,
26117
26119
  height: 20,
26118
26120
  fill: "none"
26119
- }, props), _g$3 || (_g$3 = /*#__PURE__*/React.createElement("g", {
26121
+ }, props), _g || (_g = /*#__PURE__*/React.createElement("g", {
26120
26122
  clipPath: "url(#transform-translate_svg__a)"
26121
26123
  }, /*#__PURE__*/React.createElement("circle", {
26122
26124
  cx: 10,
@@ -26126,7 +26128,7 @@ var SvgTransformTranslate = function SvgTransformTranslate(props) {
26126
26128
  }), /*#__PURE__*/React.createElement("path", {
26127
26129
  fill: "#fff",
26128
26130
  d: "M16.18 10.758a.8.8 0 0 0-.105-1.218l-1.66-1.66a.801.801 0 0 0-1.132 1.132l.383.381h-2.96V6.418l.385.386a.8.8 0 1 0 1.131-1.13l-1.75-1.75a.8.8 0 0 0-1.222.11L7.594 5.689a.8.8 0 0 0 1.131 1.13l.381-.38v2.954H6.137l.381-.38a.8.8 0 1 0-1.13-1.132l-1.752 1.75a.8.8 0 0 0 .106 1.22l1.66 1.66a.801.801 0 0 0 1.132-1.133l-.386-.385h2.958v2.972l-.38-.38a.8.8 0 0 0-1.132 1.131l1.751 1.75a.8.8 0 0 0 1.223-.11l1.654-1.655a.8.8 0 1 0-1.13-1.131l-.386.386v-2.963h2.978l-.385.384a.8.8 0 1 0 1.131 1.131z"
26129
- }))), _defs$3 || (_defs$3 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26131
+ }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
26130
26132
  id: "transform-translate_svg__b",
26131
26133
  x1: 17.727,
26132
26134
  x2: -1.215,
@@ -26800,97 +26802,6 @@ const useDoodleTransform = (data, onTransformChange, options) => {
26800
26802
  };
26801
26803
  };
26802
26804
 
26803
- var _g$2, _defs$2;
26804
- function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
26805
- var SvgDisabledRotate = function SvgDisabledRotate(props) {
26806
- return /*#__PURE__*/React.createElement("svg", _extends$3({
26807
- xmlns: "http://www.w3.org/2000/svg",
26808
- width: 16,
26809
- height: 16,
26810
- fill: "none"
26811
- }, props), _g$2 || (_g$2 = /*#__PURE__*/React.createElement("g", {
26812
- clipPath: "url(#disabled-rotate_svg__a)"
26813
- }, /*#__PURE__*/React.createElement("path", {
26814
- fill: "#fff",
26815
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26816
- }), /*#__PURE__*/React.createElement("path", {
26817
- fill: "#211F1F",
26818
- fillOpacity: 0.4,
26819
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26820
- }), /*#__PURE__*/React.createElement("path", {
26821
- fill: "#fff",
26822
- fillOpacity: 0.7,
26823
- d: "M9.192 11.775a4.36 4.36 0 0 1-5.277-3.93l-.013-.326v-.002a.655.655 0 0 1 1.31 0v.002a3.05 3.05 0 0 0 1.71 2.738l.208.091a3.05 3.05 0 0 0 1.781.147l.22-.057q.234-.07.451-.175l-.919-.354a.653.653 0 1 1 .47-1.22l2.033.782a.654.654 0 0 1 .251 1.047l.002.001a4.36 4.36 0 0 1-2.227 1.256M6.809 3.639a4.36 4.36 0 0 1 5.289 4.256v.002a.654.654 0 1 1-1.309 0v-.002a3.05 3.05 0 0 0-1.71-2.738l-.208-.091a3.05 3.05 0 0 0-1.781-.147l-.22.057a3 3 0 0 0-.451.175l.919.354a.654.654 0 0 1-.47 1.22l-2.033-.782a.654.654 0 0 1-.251-1.046l-.002-.002a4.36 4.36 0 0 1 2.227-1.256"
26824
- }))), _defs$2 || (_defs$2 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
26825
- id: "disabled-rotate_svg__a"
26826
- }, /*#__PURE__*/React.createElement("path", {
26827
- fill: "#fff",
26828
- d: "M16 0H0v16h16z"
26829
- })))));
26830
- };
26831
-
26832
- var _g$1, _defs$1;
26833
- function _extends$2() { return _extends$2 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$2.apply(null, arguments); }
26834
- var SvgDisabledScale = function SvgDisabledScale(props) {
26835
- return /*#__PURE__*/React.createElement("svg", _extends$2({
26836
- xmlns: "http://www.w3.org/2000/svg",
26837
- width: 16,
26838
- height: 16,
26839
- fill: "none"
26840
- }, props), _g$1 || (_g$1 = /*#__PURE__*/React.createElement("g", {
26841
- clipPath: "url(#disabled-scale_svg__a)"
26842
- }, /*#__PURE__*/React.createElement("path", {
26843
- fill: "#fff",
26844
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26845
- }), /*#__PURE__*/React.createElement("path", {
26846
- fill: "#211F1F",
26847
- fillOpacity: 0.4,
26848
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26849
- }), /*#__PURE__*/React.createElement("path", {
26850
- fill: "#fff",
26851
- fillOpacity: 0.7,
26852
- d: "M3.972 6.612a.64.64 0 0 0 1.28 0v-.437l4.554 4.554H9.41a.64.64 0 0 0 0 1.28h1.979a.64.64 0 0 0 .636-.606l.003-.036.001-1.98a.64.64 0 1 0-1.28.001v.474L6.158 5.27h.435a.64.64 0 0 0 0-1.28h-1.98a.64.64 0 0 0-.64.64z"
26853
- }))), _defs$1 || (_defs$1 = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
26854
- id: "disabled-scale_svg__a"
26855
- }, /*#__PURE__*/React.createElement("path", {
26856
- fill: "#fff",
26857
- d: "M0 16h16V0H0z"
26858
- })))));
26859
- };
26860
-
26861
- var _g, _defs;
26862
- function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
26863
- var SvgDisabledTranslate = function SvgDisabledTranslate(props) {
26864
- return /*#__PURE__*/React.createElement("svg", _extends$1({
26865
- xmlns: "http://www.w3.org/2000/svg",
26866
- width: 16,
26867
- height: 16,
26868
- fill: "none"
26869
- }, props), _g || (_g = /*#__PURE__*/React.createElement("g", {
26870
- clipPath: "url(#disabled-translate_svg__a)"
26871
- }, /*#__PURE__*/React.createElement("circle", {
26872
- cx: 8,
26873
- cy: 8,
26874
- r: 8,
26875
- fill: "#fff"
26876
- }), /*#__PURE__*/React.createElement("circle", {
26877
- cx: 8,
26878
- cy: 8,
26879
- r: 8,
26880
- fill: "#211F1F",
26881
- fillOpacity: 0.4
26882
- }), /*#__PURE__*/React.createElement("path", {
26883
- fill: "#fff",
26884
- fillOpacity: 0.7,
26885
- d: "M12.944 8.608a.64.64 0 0 0-.079-.97l-1.333-1.334a.64.64 0 0 0-.905.905l.305.305H8.564V5.136l.308.308a.642.642 0 0 0 .906-.906l-1.4-1.399a.64.64 0 0 0-.906 0q-.036.037-.064.08L6.075 4.55a.64.64 0 0 0 .905.905l.305-.304v2.362H4.91l.306-.306a.64.64 0 0 0-.904-.904l-1.4 1.4a.64.64 0 0 0 .077.97l1.334 1.333a.64.64 0 0 0 .906-.905l-.31-.309h2.367v2.38l-.304-.305a.64.64 0 1 0-.905.906l1.4 1.4a.64.64 0 0 0 .97-.08l1.332-1.333a.64.64 0 0 0-.905-.905l-.309.308v-2.37h2.385l-.31.309a.64.64 0 1 0 .905.904z"
26886
- }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
26887
- id: "disabled-translate_svg__a"
26888
- }, /*#__PURE__*/React.createElement("path", {
26889
- fill: "#fff",
26890
- d: "M16 0H0v16h16z"
26891
- })))));
26892
- };
26893
-
26894
26805
  var css_248z$5 = ".index-module_doodleHover__jIZHV path {\n fill: #00B3A1;\n}";
26895
26806
  var styles$5 = {"doodleHover":"index-module_doodleHover__jIZHV"};
26896
26807
  styleInject(css_248z$5);
@@ -27089,8 +27000,7 @@ const DoodleTransformWrapper = ({ data, isSelected = false, isSelectedWithoutOpe
27089
27000
  const infoBoxWidth = 300 * overlayScale; // 信息框宽度
27090
27001
  const infoBoxHeight = 40 * overlayScale; // 信息框高度
27091
27002
  const infoBoxX = centerX - infoBoxWidth / 2; // 居中对齐
27092
- const circleScale = platform === PlatformType.H5 ? 1.5 * overlayScale : 3 * overlayScale;
27093
- const disacledScale = circleScale * 1.2;
27003
+ const circleScale = platform === PlatformType.H5 ? 1.5 * overlayScale : 2 * overlayScale;
27094
27004
  return (jsxs(Fragment, { children: [jsx("polygon", { points: selectionBoxPoints.map((point) => `${point.x},${point.y}`).join(' '), fill: "none", stroke: "#B2B4B9", strokeWidth: "2", strokeDasharray: "5,5", vectorEffect: "non-scaling-stroke", ...(platform === PlatformType.H5
27095
27005
  ? {
27096
27006
  onTouchStart: createReactEventHandler((e) => {
@@ -27099,7 +27009,7 @@ const DoodleTransformWrapper = ({ data, isSelected = false, isSelectedWithoutOpe
27099
27009
  }
27100
27010
  : {
27101
27011
  // onMouseDown: handleMouseDownWithDisabled,
27102
- }) }), jsx("g", { transform: `translate(${selectionBoxPoints[3].x}, ${selectionBoxPoints[3].y})`, children: jsx("g", { transformOrigin: "center", transform: `translate(-${10 * circleScale}, -${10 * circleScale}) scale(${disacledScale})`, children: jsx(SvgDisabledRotate, {}) }) }), jsx("g", { transform: `translate(${selectionBoxPoints[1].x}, ${selectionBoxPoints[1].y})`, children: jsx("g", { transformOrigin: "center", transform: `translate(-${10 * circleScale}, -${10 * circleScale}) scale(${disacledScale})`, children: jsx(SvgDisabledTranslate, {}) }) }), jsx("g", { transform: `translate(${selectionBoxPoints[2].x}, ${selectionBoxPoints[2].y})`, children: jsx("g", { transformOrigin: "center", transform: `translate(-${10 * circleScale}, -${10 * circleScale}) scale(${disacledScale})`, children: jsx(SvgDisabledScale, {}) }) }), platform === PlatformType.H5 && (jsx("foreignObject", { x: infoBoxX, y: infoBoxY, width: infoBoxWidth, height: infoBoxHeight, style: { textAlign: 'center' }, onClick: () => {
27012
+ }) }), jsx("circle", { cx: selectionBoxPoints[0].x, cy: selectionBoxPoints[0].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), jsx("circle", { cx: selectionBoxPoints[3].x, cy: selectionBoxPoints[3].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), jsx("circle", { cx: selectionBoxPoints[1].x, cy: selectionBoxPoints[1].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), jsx("circle", { cx: selectionBoxPoints[2].x, cy: selectionBoxPoints[2].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), platform === PlatformType.H5 && (jsx("foreignObject", { x: infoBoxX, y: infoBoxY, width: infoBoxWidth, height: infoBoxHeight, style: { textAlign: 'center' }, onClick: () => {
27103
27013
  onClickInfo?.();
27104
27014
  }, children: jsx("div", { style: {
27105
27015
  padding: `5px ${10 * overlayScale}px`,
@@ -29748,6 +29658,22 @@ const SvgEditMap = forwardRef(({ mapConfig, onEditInfoMapChange, editMap }, ref)
29748
29658
  });
29749
29659
  SvgEditMap.displayName = 'SvgEditMap';
29750
29660
 
29661
+ /** 清理为合法的 SVG/HTML id 片段 */
29662
+ function sanitizeSvgIdPart(value) {
29663
+ return value.replace(/[^a-zA-Z0-9_.-]/g, '_');
29664
+ }
29665
+ /**
29666
+ * 通道 clipPath 的 SVG id
29667
+ * 组合 sn、useId、时间戳、随机数,避免同页多地图实例 id 冲突
29668
+ */
29669
+ function createChannelClipPathId(params) {
29670
+ const snPart = sanitizeSvgIdPart(params.sn || 'map');
29671
+ const reactPart = sanitizeSvgIdPart(params.reactId.replace(/:/g, ''));
29672
+ const timestamp = Date.now();
29673
+ const randomPart = Math.random().toString(36).slice(2, 10);
29674
+ return `channel-clip-path-${snPart}-${reactPart}-${timestamp}-${randomPart}`;
29675
+ }
29676
+
29751
29677
  var _path;
29752
29678
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
29753
29679
  var SvgMobileAddPoint = function SvgMobileAddPoint(props) {
@@ -29824,6 +29750,8 @@ modelType, showStraddleBoundaryBorder = true, mapRef, mapJson, pathJson, realTim
29824
29750
  ...INIT_EDIT_MAP_INFO,
29825
29751
  });
29826
29752
  const [mowingPartitions, setMowingPartitions] = useState([]);
29753
+ const reactInstanceId = useId();
29754
+ const channelClipPathId = useMemo(() => createChannelClipPathId({ sn, reactId: reactInstanceId }), [sn, reactInstanceId]);
29827
29755
  const minDistance = useMemo(() => {
29828
29756
  return getMinSvgDistanceByModel(modelType);
29829
29757
  }, [modelType]);
@@ -30058,6 +29986,7 @@ modelType, showStraddleBoundaryBorder = true, mapRef, mapJson, pathJson, realTim
30058
29986
  locale,
30059
29987
  signGoogleStaticMapUrl,
30060
29988
  onH5FirstSelectObstaclePoint,
29989
+ channelClipPathId,
30061
29990
  };
30062
29991
  }, [
30063
29992
  sn,
@@ -30084,6 +30013,7 @@ modelType, showStraddleBoundaryBorder = true, mapRef, mapJson, pathJson, realTim
30084
30013
  locale,
30085
30014
  signGoogleStaticMapUrl,
30086
30015
  onH5FirstSelectObstaclePoint,
30016
+ channelClipPathId,
30087
30017
  ]);
30088
30018
  /**
30089
30019
  * 这里做了一个配置,以防以后如果有多种不同的类型的情况,需要展示不同的元素
@@ -30428,7 +30358,9 @@ MowerMapRenderer.displayName = 'MowerMapRenderer';
30428
30358
 
30429
30359
  // 默认配置
30430
30360
  const defaultMapConfig = DEFAULT_STYLES;
30431
- const BoundarySvgRender = React__default.memo(({ mapJson, unStructMapData, id, maxWidth = 300, maxHeight, boundaryPadding = 50, mapConfig, sn }) => {
30361
+ const BoundarySvgRender = React__default.memo(({ mapJson, unStructMapData, id, maxWidth = 300, maxHeight, boundaryPadding = 50, mapConfig, sn, }) => {
30362
+ const reactInstanceId = useId();
30363
+ const channelClipPathId = useMemo(() => createChannelClipPathId({ sn, reactId: reactInstanceId }), [sn, reactInstanceId]);
30432
30364
  // 合并配置
30433
30365
  const mergedMapConfig = useMemo(() => {
30434
30366
  return merge$1(defaultMapConfig, mapConfig);
@@ -30488,8 +30420,9 @@ const BoundarySvgRender = React__default.memo(({ mapJson, unStructMapData, id, m
30488
30420
  return {
30489
30421
  sn,
30490
30422
  svgViewBox: boundaryViewBox,
30423
+ channelClipPathId,
30491
30424
  };
30492
- }, [sn, boundaryViewBox]);
30425
+ }, [sn, boundaryViewBox, channelClipPathId]);
30493
30426
  const style = useMemo(() => {
30494
30427
  if (!maxHeight) {
30495
30428
  if (boundaryViewBox?.width > boundaryViewBox?.height) {
package/dist/index.js CHANGED
@@ -22729,12 +22729,13 @@ const CommonContext = React.createContext({
22729
22729
  locale: {},
22730
22730
  signGoogleStaticMapUrl: undefined,
22731
22731
  onH5FirstSelectObstaclePoint: undefined,
22732
+ channelClipPathId: '',
22732
22733
  });
22733
22734
  const CommonContextProvider = CommonContext.Provider;
22734
22735
  const useCommonContext = () => React.useContext(CommonContext);
22735
22736
 
22736
22737
  const ChannelClipPath = React.memo(() => {
22737
- const { svgViewBox, sn } = useCommonContext();
22738
+ const { svgViewBox, channelClipPathId } = useCommonContext();
22738
22739
  const { svgElementDatas } = useSvgEditContext();
22739
22740
  const boundaryData = svgElementDatas?.[exports.DataType.BOUNDARY] || [];
22740
22741
  const [minX, minY, maxX, maxY] = React.useMemo(() => {
@@ -22913,7 +22914,7 @@ const ChannelClipPath = React.memo(() => {
22913
22914
  });
22914
22915
  return baseD;
22915
22916
  }, [boundaryData, minX, minY, maxX, maxY]);
22916
- return (jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: `channel-clip-path-${sn}`, fillRule: "evenodd", children: jsxRuntime.jsx("path", { d: d }) }) }));
22917
+ return (jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: channelClipPathId, fillRule: "evenodd", children: jsxRuntime.jsx("path", { d: d }) }) }));
22917
22918
  });
22918
22919
 
22919
22920
  /**
@@ -22975,9 +22976,9 @@ const VertexElement = React.memo(({ r, stroke, fill, ...props }) => {
22975
22976
  });
22976
22977
 
22977
22978
  var _path$1;
22978
- function _extends$8() { return _extends$8 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$8.apply(null, arguments); }
22979
+ function _extends$5() { return _extends$5 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$5.apply(null, arguments); }
22979
22980
  var SvgDelete = function SvgDelete(props) {
22980
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$8({
22981
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$5({
22981
22982
  xmlns: "http://www.w3.org/2000/svg",
22982
22983
  width: 16,
22983
22984
  height: 16,
@@ -25402,7 +25403,8 @@ const BoundaryElement = ({ data, isHover }) => {
25402
25403
  };
25403
25404
 
25404
25405
  const ChannelElement = ({ data }) => {
25405
- const { sn } = useCommonContext();
25406
+ const { channelClipPathId } = useCommonContext();
25407
+ const clipPathUrl = `url(#${channelClipPathId})`;
25406
25408
  const points = data.points;
25407
25409
  const style = data.style;
25408
25410
  let pathData = `M ${points[0][0]} ${points[0][1]}`;
@@ -25412,7 +25414,7 @@ const ChannelElement = ({ data }) => {
25412
25414
  const topLineWidth = dp2px(style.lineWidth).toString();
25413
25415
  const bottomLineWidth = dp2px(style.bottomLineWidth).toString();
25414
25416
  const dashLength = dp2px(style.lineWidth);
25415
- return (jsxRuntime.jsxs("g", { id: data.id.toString(), children: [jsxRuntime.jsx("path", { d: pathData, fill: "none", stroke: "#8498A9", strokeWidth: bottomLineWidth, strokeLinejoin: "round", opacity: style.opacity || 1, style: { clipPath: `url(#channel-clip-path-${sn})` } }), jsxRuntime.jsx("path", { d: pathData, fill: "none", stroke: "#FFFFFF", strokeWidth: topLineWidth, strokeLinejoin: "round", strokeDasharray: `${dashLength * 2} ${dashLength}`, opacity: style.opacity || 1, style: { clipPath: `url(#channel-clip-path-${sn})` } })] }));
25417
+ return (jsxRuntime.jsxs("g", { id: data.id.toString(), children: [jsxRuntime.jsx("path", { d: pathData, fill: "none", stroke: "#8498A9", strokeWidth: bottomLineWidth, strokeLinejoin: "round", opacity: style.opacity || 1, style: { clipPath: clipPathUrl } }), jsxRuntime.jsx("path", { d: pathData, fill: "none", stroke: "#FFFFFF", strokeWidth: topLineWidth, strokeLinejoin: "round", strokeDasharray: `${dashLength * 2} ${dashLength}`, opacity: style.opacity || 1, style: { clipPath: clipPathUrl } })] }));
25416
25418
  };
25417
25419
 
25418
25420
  /**
@@ -26005,15 +26007,15 @@ const useVisionOffTransform = (data, scaleConstraints
26005
26007
  };
26006
26008
  };
26007
26009
 
26008
- var _g$6, _defs$6;
26009
- function _extends$7() { return _extends$7 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$7.apply(null, arguments); }
26010
+ var _g$3, _defs$3;
26011
+ function _extends$4() { return _extends$4 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$4.apply(null, arguments); }
26010
26012
  var SvgTransformDelete = function SvgTransformDelete(props) {
26011
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$7({
26013
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$4({
26012
26014
  xmlns: "http://www.w3.org/2000/svg",
26013
26015
  width: 20,
26014
26016
  height: 20,
26015
26017
  fill: "none"
26016
- }, props), _g$6 || (_g$6 = /*#__PURE__*/React__namespace.createElement("g", {
26018
+ }, props), _g$3 || (_g$3 = /*#__PURE__*/React__namespace.createElement("g", {
26017
26019
  clipPath: "url(#transform-delete_svg__a)"
26018
26020
  }, /*#__PURE__*/React__namespace.createElement("circle", {
26019
26021
  cx: 10,
@@ -26036,7 +26038,7 @@ var SvgTransformDelete = function SvgTransformDelete(props) {
26036
26038
  fill: "#fff",
26037
26039
  rx: 0.8,
26038
26040
  transform: "rotate(45 6.323 5.191)"
26039
- }))), _defs$6 || (_defs$6 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26041
+ }))), _defs$3 || (_defs$3 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26040
26042
  id: "transform-delete_svg__b",
26041
26043
  x1: 17.727,
26042
26044
  x2: -1.215,
@@ -26056,15 +26058,15 @@ var SvgTransformDelete = function SvgTransformDelete(props) {
26056
26058
  })))));
26057
26059
  };
26058
26060
 
26059
- var _g$5, _defs$5;
26060
- function _extends$6() { return _extends$6 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$6.apply(null, arguments); }
26061
+ var _g$2, _defs$2;
26062
+ function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
26061
26063
  var SvgTransformRotate = function SvgTransformRotate(props) {
26062
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$6({
26064
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$3({
26063
26065
  xmlns: "http://www.w3.org/2000/svg",
26064
26066
  width: 21,
26065
26067
  height: 20,
26066
26068
  fill: "none"
26067
- }, props), _g$5 || (_g$5 = /*#__PURE__*/React__namespace.createElement("g", {
26069
+ }, props), _g$2 || (_g$2 = /*#__PURE__*/React__namespace.createElement("g", {
26068
26070
  clipPath: "url(#transform-rotate_svg__a)"
26069
26071
  }, /*#__PURE__*/React__namespace.createElement("path", {
26070
26072
  fill: "url(#transform-rotate_svg__b)",
@@ -26072,7 +26074,7 @@ var SvgTransformRotate = function SvgTransformRotate(props) {
26072
26074
  }), /*#__PURE__*/React__namespace.createElement("path", {
26073
26075
  fill: "#fff",
26074
26076
  d: "M11.602 14.719a5.447 5.447 0 0 1-6.608-5.116l-.004-.205a.818.818 0 0 1 1.633-.084l.004.084.01.285a3.81 3.81 0 0 0 2.127 3.137l.26.115a3.8 3.8 0 0 0 2.227.184l.276-.071q.29-.088.561-.219l-1.147-.441a.817.817 0 0 1 .587-1.525l2.54.977a.817.817 0 0 1 .316 1.308l.001.001a5.45 5.45 0 0 1-2.783 1.57M8.623 4.548a5.447 5.447 0 0 1 6.608 5.116l.004.204a.818.818 0 0 1-1.633.084l-.004-.084-.01-.284a3.81 3.81 0 0 0-2.127-3.138l-.26-.115a3.8 3.8 0 0 0-2.227-.184l-.276.072q-.29.087-.561.218l1.147.442a.817.817 0 0 1-.586 1.524l-2.542-.976a.817.817 0 0 1-.315-1.309 5.45 5.45 0 0 1 2.782-1.57"
26075
- }))), _defs$5 || (_defs$5 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26077
+ }))), _defs$2 || (_defs$2 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26076
26078
  id: "transform-rotate_svg__b",
26077
26079
  x1: 17.84,
26078
26080
  x2: -1.103,
@@ -26092,15 +26094,15 @@ var SvgTransformRotate = function SvgTransformRotate(props) {
26092
26094
  })))));
26093
26095
  };
26094
26096
 
26095
- var _g$4, _defs$4;
26096
- function _extends$5() { return _extends$5 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$5.apply(null, arguments); }
26097
+ var _g$1, _defs$1;
26098
+ function _extends$2() { return _extends$2 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$2.apply(null, arguments); }
26097
26099
  var SvgTransformScale = function SvgTransformScale(props) {
26098
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$5({
26100
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2({
26099
26101
  xmlns: "http://www.w3.org/2000/svg",
26100
26102
  width: 21,
26101
26103
  height: 20,
26102
26104
  fill: "none"
26103
- }, props), _g$4 || (_g$4 = /*#__PURE__*/React__namespace.createElement("g", {
26105
+ }, props), _g$1 || (_g$1 = /*#__PURE__*/React__namespace.createElement("g", {
26104
26106
  clipPath: "url(#transform-scale_svg__a)"
26105
26107
  }, /*#__PURE__*/React__namespace.createElement("path", {
26106
26108
  fill: "url(#transform-scale_svg__b)",
@@ -26108,7 +26110,7 @@ var SvgTransformScale = function SvgTransformScale(props) {
26108
26110
  }), /*#__PURE__*/React__namespace.createElement("path", {
26109
26111
  fill: "#fff",
26110
26112
  d: "M5.078 8.265a.8.8 0 0 0 1.6.001v-.544l5.69 5.69h-.494a.8.8 0 0 0 0 1.6l2.474-.002a.8.8 0 0 0 .311-.062.8.8 0 0 0 .49-.738v-2.474a.8.8 0 1 0-1.6 0v.594L7.81 6.59h.544a.8.8 0 0 0 0-1.6H5.879a.8.8 0 0 0-.8.8z"
26111
- }))), _defs$4 || (_defs$4 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26113
+ }))), _defs$1 || (_defs$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26112
26114
  id: "transform-scale_svg__b",
26113
26115
  x1: 17.84,
26114
26116
  x2: -1.103,
@@ -26128,15 +26130,15 @@ var SvgTransformScale = function SvgTransformScale(props) {
26128
26130
  })))));
26129
26131
  };
26130
26132
 
26131
- var _g$3, _defs$3;
26132
- function _extends$4() { return _extends$4 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$4.apply(null, arguments); }
26133
+ var _g, _defs;
26134
+ function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
26133
26135
  var SvgTransformTranslate = function SvgTransformTranslate(props) {
26134
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4({
26136
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
26135
26137
  xmlns: "http://www.w3.org/2000/svg",
26136
26138
  width: 20,
26137
26139
  height: 20,
26138
26140
  fill: "none"
26139
- }, props), _g$3 || (_g$3 = /*#__PURE__*/React__namespace.createElement("g", {
26141
+ }, props), _g || (_g = /*#__PURE__*/React__namespace.createElement("g", {
26140
26142
  clipPath: "url(#transform-translate_svg__a)"
26141
26143
  }, /*#__PURE__*/React__namespace.createElement("circle", {
26142
26144
  cx: 10,
@@ -26146,7 +26148,7 @@ var SvgTransformTranslate = function SvgTransformTranslate(props) {
26146
26148
  }), /*#__PURE__*/React__namespace.createElement("path", {
26147
26149
  fill: "#fff",
26148
26150
  d: "M16.18 10.758a.8.8 0 0 0-.105-1.218l-1.66-1.66a.801.801 0 0 0-1.132 1.132l.383.381h-2.96V6.418l.385.386a.8.8 0 1 0 1.131-1.13l-1.75-1.75a.8.8 0 0 0-1.222.11L7.594 5.689a.8.8 0 0 0 1.131 1.13l.381-.38v2.954H6.137l.381-.38a.8.8 0 1 0-1.13-1.132l-1.752 1.75a.8.8 0 0 0 .106 1.22l1.66 1.66a.801.801 0 0 0 1.132-1.133l-.386-.385h2.958v2.972l-.38-.38a.8.8 0 0 0-1.132 1.131l1.751 1.75a.8.8 0 0 0 1.223-.11l1.654-1.655a.8.8 0 1 0-1.13-1.131l-.386.386v-2.963h2.978l-.385.384a.8.8 0 1 0 1.131 1.131z"
26149
- }))), _defs$3 || (_defs$3 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26151
+ }))), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
26150
26152
  id: "transform-translate_svg__b",
26151
26153
  x1: 17.727,
26152
26154
  x2: -1.215,
@@ -26820,97 +26822,6 @@ const useDoodleTransform = (data, onTransformChange, options) => {
26820
26822
  };
26821
26823
  };
26822
26824
 
26823
- var _g$2, _defs$2;
26824
- function _extends$3() { return _extends$3 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$3.apply(null, arguments); }
26825
- var SvgDisabledRotate = function SvgDisabledRotate(props) {
26826
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$3({
26827
- xmlns: "http://www.w3.org/2000/svg",
26828
- width: 16,
26829
- height: 16,
26830
- fill: "none"
26831
- }, props), _g$2 || (_g$2 = /*#__PURE__*/React__namespace.createElement("g", {
26832
- clipPath: "url(#disabled-rotate_svg__a)"
26833
- }, /*#__PURE__*/React__namespace.createElement("path", {
26834
- fill: "#fff",
26835
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26836
- }), /*#__PURE__*/React__namespace.createElement("path", {
26837
- fill: "#211F1F",
26838
- fillOpacity: 0.4,
26839
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26840
- }), /*#__PURE__*/React__namespace.createElement("path", {
26841
- fill: "#fff",
26842
- fillOpacity: 0.7,
26843
- d: "M9.192 11.775a4.36 4.36 0 0 1-5.277-3.93l-.013-.326v-.002a.655.655 0 0 1 1.31 0v.002a3.05 3.05 0 0 0 1.71 2.738l.208.091a3.05 3.05 0 0 0 1.781.147l.22-.057q.234-.07.451-.175l-.919-.354a.653.653 0 1 1 .47-1.22l2.033.782a.654.654 0 0 1 .251 1.047l.002.001a4.36 4.36 0 0 1-2.227 1.256M6.809 3.639a4.36 4.36 0 0 1 5.289 4.256v.002a.654.654 0 1 1-1.309 0v-.002a3.05 3.05 0 0 0-1.71-2.738l-.208-.091a3.05 3.05 0 0 0-1.781-.147l-.22.057a3 3 0 0 0-.451.175l.919.354a.654.654 0 0 1-.47 1.22l-2.033-.782a.654.654 0 0 1-.251-1.046l-.002-.002a4.36 4.36 0 0 1 2.227-1.256"
26844
- }))), _defs$2 || (_defs$2 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
26845
- id: "disabled-rotate_svg__a"
26846
- }, /*#__PURE__*/React__namespace.createElement("path", {
26847
- fill: "#fff",
26848
- d: "M16 0H0v16h16z"
26849
- })))));
26850
- };
26851
-
26852
- var _g$1, _defs$1;
26853
- function _extends$2() { return _extends$2 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$2.apply(null, arguments); }
26854
- var SvgDisabledScale = function SvgDisabledScale(props) {
26855
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2({
26856
- xmlns: "http://www.w3.org/2000/svg",
26857
- width: 16,
26858
- height: 16,
26859
- fill: "none"
26860
- }, props), _g$1 || (_g$1 = /*#__PURE__*/React__namespace.createElement("g", {
26861
- clipPath: "url(#disabled-scale_svg__a)"
26862
- }, /*#__PURE__*/React__namespace.createElement("path", {
26863
- fill: "#fff",
26864
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26865
- }), /*#__PURE__*/React__namespace.createElement("path", {
26866
- fill: "#211F1F",
26867
- fillOpacity: 0.4,
26868
- d: "M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0"
26869
- }), /*#__PURE__*/React__namespace.createElement("path", {
26870
- fill: "#fff",
26871
- fillOpacity: 0.7,
26872
- d: "M3.972 6.612a.64.64 0 0 0 1.28 0v-.437l4.554 4.554H9.41a.64.64 0 0 0 0 1.28h1.979a.64.64 0 0 0 .636-.606l.003-.036.001-1.98a.64.64 0 1 0-1.28.001v.474L6.158 5.27h.435a.64.64 0 0 0 0-1.28h-1.98a.64.64 0 0 0-.64.64z"
26873
- }))), _defs$1 || (_defs$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
26874
- id: "disabled-scale_svg__a"
26875
- }, /*#__PURE__*/React__namespace.createElement("path", {
26876
- fill: "#fff",
26877
- d: "M0 16h16V0H0z"
26878
- })))));
26879
- };
26880
-
26881
- var _g, _defs;
26882
- function _extends$1() { return _extends$1 = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends$1.apply(null, arguments); }
26883
- var SvgDisabledTranslate = function SvgDisabledTranslate(props) {
26884
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
26885
- xmlns: "http://www.w3.org/2000/svg",
26886
- width: 16,
26887
- height: 16,
26888
- fill: "none"
26889
- }, props), _g || (_g = /*#__PURE__*/React__namespace.createElement("g", {
26890
- clipPath: "url(#disabled-translate_svg__a)"
26891
- }, /*#__PURE__*/React__namespace.createElement("circle", {
26892
- cx: 8,
26893
- cy: 8,
26894
- r: 8,
26895
- fill: "#fff"
26896
- }), /*#__PURE__*/React__namespace.createElement("circle", {
26897
- cx: 8,
26898
- cy: 8,
26899
- r: 8,
26900
- fill: "#211F1F",
26901
- fillOpacity: 0.4
26902
- }), /*#__PURE__*/React__namespace.createElement("path", {
26903
- fill: "#fff",
26904
- fillOpacity: 0.7,
26905
- d: "M12.944 8.608a.64.64 0 0 0-.079-.97l-1.333-1.334a.64.64 0 0 0-.905.905l.305.305H8.564V5.136l.308.308a.642.642 0 0 0 .906-.906l-1.4-1.399a.64.64 0 0 0-.906 0q-.036.037-.064.08L6.075 4.55a.64.64 0 0 0 .905.905l.305-.304v2.362H4.91l.306-.306a.64.64 0 0 0-.904-.904l-1.4 1.4a.64.64 0 0 0 .077.97l1.334 1.333a.64.64 0 0 0 .906-.905l-.31-.309h2.367v2.38l-.304-.305a.64.64 0 1 0-.905.906l1.4 1.4a.64.64 0 0 0 .97-.08l1.332-1.333a.64.64 0 0 0-.905-.905l-.309.308v-2.37h2.385l-.31.309a.64.64 0 1 0 .905.904z"
26906
- }))), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
26907
- id: "disabled-translate_svg__a"
26908
- }, /*#__PURE__*/React__namespace.createElement("path", {
26909
- fill: "#fff",
26910
- d: "M16 0H0v16h16z"
26911
- })))));
26912
- };
26913
-
26914
26825
  var css_248z$5 = ".index-module_doodleHover__jIZHV path {\n fill: #00B3A1;\n}";
26915
26826
  var styles$5 = {"doodleHover":"index-module_doodleHover__jIZHV"};
26916
26827
  styleInject(css_248z$5);
@@ -27109,8 +27020,7 @@ const DoodleTransformWrapper = ({ data, isSelected = false, isSelectedWithoutOpe
27109
27020
  const infoBoxWidth = 300 * overlayScale; // 信息框宽度
27110
27021
  const infoBoxHeight = 40 * overlayScale; // 信息框高度
27111
27022
  const infoBoxX = centerX - infoBoxWidth / 2; // 居中对齐
27112
- const circleScale = platform === exports.PlatformType.H5 ? 1.5 * overlayScale : 3 * overlayScale;
27113
- const disacledScale = circleScale * 1.2;
27023
+ const circleScale = platform === exports.PlatformType.H5 ? 1.5 * overlayScale : 2 * overlayScale;
27114
27024
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: selectionBoxPoints.map((point) => `${point.x},${point.y}`).join(' '), fill: "none", stroke: "#B2B4B9", strokeWidth: "2", strokeDasharray: "5,5", vectorEffect: "non-scaling-stroke", ...(platform === exports.PlatformType.H5
27115
27025
  ? {
27116
27026
  onTouchStart: createReactEventHandler((e) => {
@@ -27119,7 +27029,7 @@ const DoodleTransformWrapper = ({ data, isSelected = false, isSelectedWithoutOpe
27119
27029
  }
27120
27030
  : {
27121
27031
  // onMouseDown: handleMouseDownWithDisabled,
27122
- }) }), jsxRuntime.jsx("g", { transform: `translate(${selectionBoxPoints[3].x}, ${selectionBoxPoints[3].y})`, children: jsxRuntime.jsx("g", { transformOrigin: "center", transform: `translate(-${10 * circleScale}, -${10 * circleScale}) scale(${disacledScale})`, children: jsxRuntime.jsx(SvgDisabledRotate, {}) }) }), jsxRuntime.jsx("g", { transform: `translate(${selectionBoxPoints[1].x}, ${selectionBoxPoints[1].y})`, children: jsxRuntime.jsx("g", { transformOrigin: "center", transform: `translate(-${10 * circleScale}, -${10 * circleScale}) scale(${disacledScale})`, children: jsxRuntime.jsx(SvgDisabledTranslate, {}) }) }), jsxRuntime.jsx("g", { transform: `translate(${selectionBoxPoints[2].x}, ${selectionBoxPoints[2].y})`, children: jsxRuntime.jsx("g", { transformOrigin: "center", transform: `translate(-${10 * circleScale}, -${10 * circleScale}) scale(${disacledScale})`, children: jsxRuntime.jsx(SvgDisabledScale, {}) }) }), platform === exports.PlatformType.H5 && (jsxRuntime.jsx("foreignObject", { x: infoBoxX, y: infoBoxY, width: infoBoxWidth, height: infoBoxHeight, style: { textAlign: 'center' }, onClick: () => {
27032
+ }) }), jsxRuntime.jsx("circle", { cx: selectionBoxPoints[0].x, cy: selectionBoxPoints[0].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), jsxRuntime.jsx("circle", { cx: selectionBoxPoints[3].x, cy: selectionBoxPoints[3].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), jsxRuntime.jsx("circle", { cx: selectionBoxPoints[1].x, cy: selectionBoxPoints[1].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), jsxRuntime.jsx("circle", { cx: selectionBoxPoints[2].x, cy: selectionBoxPoints[2].y, r: 10 * circleScale, fill: "#B2B4B9", stroke: "none" }), platform === exports.PlatformType.H5 && (jsxRuntime.jsx("foreignObject", { x: infoBoxX, y: infoBoxY, width: infoBoxWidth, height: infoBoxHeight, style: { textAlign: 'center' }, onClick: () => {
27123
27033
  onClickInfo?.();
27124
27034
  }, children: jsxRuntime.jsx("div", { style: {
27125
27035
  padding: `5px ${10 * overlayScale}px`,
@@ -29768,6 +29678,22 @@ const SvgEditMap = React.forwardRef(({ mapConfig, onEditInfoMapChange, editMap }
29768
29678
  });
29769
29679
  SvgEditMap.displayName = 'SvgEditMap';
29770
29680
 
29681
+ /** 清理为合法的 SVG/HTML id 片段 */
29682
+ function sanitizeSvgIdPart(value) {
29683
+ return value.replace(/[^a-zA-Z0-9_.-]/g, '_');
29684
+ }
29685
+ /**
29686
+ * 通道 clipPath 的 SVG id
29687
+ * 组合 sn、useId、时间戳、随机数,避免同页多地图实例 id 冲突
29688
+ */
29689
+ function createChannelClipPathId(params) {
29690
+ const snPart = sanitizeSvgIdPart(params.sn || 'map');
29691
+ const reactPart = sanitizeSvgIdPart(params.reactId.replace(/:/g, ''));
29692
+ const timestamp = Date.now();
29693
+ const randomPart = Math.random().toString(36).slice(2, 10);
29694
+ return `channel-clip-path-${snPart}-${reactPart}-${timestamp}-${randomPart}`;
29695
+ }
29696
+
29771
29697
  var _path;
29772
29698
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
29773
29699
  var SvgMobileAddPoint = function SvgMobileAddPoint(props) {
@@ -29844,6 +29770,8 @@ modelType, showStraddleBoundaryBorder = true, mapRef, mapJson, pathJson, realTim
29844
29770
  ...INIT_EDIT_MAP_INFO,
29845
29771
  });
29846
29772
  const [mowingPartitions, setMowingPartitions] = React.useState([]);
29773
+ const reactInstanceId = React.useId();
29774
+ const channelClipPathId = React.useMemo(() => createChannelClipPathId({ sn, reactId: reactInstanceId }), [sn, reactInstanceId]);
29847
29775
  const minDistance = React.useMemo(() => {
29848
29776
  return getMinSvgDistanceByModel(modelType);
29849
29777
  }, [modelType]);
@@ -30078,6 +30006,7 @@ modelType, showStraddleBoundaryBorder = true, mapRef, mapJson, pathJson, realTim
30078
30006
  locale,
30079
30007
  signGoogleStaticMapUrl,
30080
30008
  onH5FirstSelectObstaclePoint,
30009
+ channelClipPathId,
30081
30010
  };
30082
30011
  }, [
30083
30012
  sn,
@@ -30104,6 +30033,7 @@ modelType, showStraddleBoundaryBorder = true, mapRef, mapJson, pathJson, realTim
30104
30033
  locale,
30105
30034
  signGoogleStaticMapUrl,
30106
30035
  onH5FirstSelectObstaclePoint,
30036
+ channelClipPathId,
30107
30037
  ]);
30108
30038
  /**
30109
30039
  * 这里做了一个配置,以防以后如果有多种不同的类型的情况,需要展示不同的元素
@@ -30448,7 +30378,9 @@ MowerMapRenderer.displayName = 'MowerMapRenderer';
30448
30378
 
30449
30379
  // 默认配置
30450
30380
  const defaultMapConfig = DEFAULT_STYLES;
30451
- const BoundarySvgRender = React.memo(({ mapJson, unStructMapData, id, maxWidth = 300, maxHeight, boundaryPadding = 50, mapConfig, sn }) => {
30381
+ const BoundarySvgRender = React.memo(({ mapJson, unStructMapData, id, maxWidth = 300, maxHeight, boundaryPadding = 50, mapConfig, sn, }) => {
30382
+ const reactInstanceId = React.useId();
30383
+ const channelClipPathId = React.useMemo(() => createChannelClipPathId({ sn, reactId: reactInstanceId }), [sn, reactInstanceId]);
30452
30384
  // 合并配置
30453
30385
  const mergedMapConfig = React.useMemo(() => {
30454
30386
  return merge$1(defaultMapConfig, mapConfig);
@@ -30508,8 +30440,9 @@ const BoundarySvgRender = React.memo(({ mapJson, unStructMapData, id, maxWidth =
30508
30440
  return {
30509
30441
  sn,
30510
30442
  svgViewBox: boundaryViewBox,
30443
+ channelClipPathId,
30511
30444
  };
30512
- }, [sn, boundaryViewBox]);
30445
+ }, [sn, boundaryViewBox, channelClipPathId]);
30513
30446
  const style = React.useMemo(() => {
30514
30447
  if (!maxHeight) {
30515
30448
  if (boundaryViewBox?.width > boundaryViewBox?.height) {
@@ -11,6 +11,6 @@ interface BoundarySvgRenderProps {
11
11
  mapConfig?: MapConfig;
12
12
  sn?: string;
13
13
  }
14
- declare const BoundarySvgRender: React.MemoExoticComponent<({ mapJson, unStructMapData, id, maxWidth, maxHeight, boundaryPadding, 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>;
15
15
  export default BoundarySvgRender;
16
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;AAM3C,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,oHAC8E,sBAAsB,6CA4I1H,CAAC;AAEF,eAAe,iBAAiB,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,KAQN,MAAM,OAAO,CAAC;AAwBf,OAAO,EAGL,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AA0B3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,GAAG,CAAC;KACb;CACF;AAMD,eAAO,MAAM,gBAAgB,mGAy1B5B,CAAC;AAIF,eAAe,gBAAgB,CAAC;AAChC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC"}
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,9 @@
1
+ /**
2
+ * 通道 clipPath 的 SVG id
3
+ * 组合 sn、useId、时间戳、随机数,避免同页多地图实例 id 冲突
4
+ */
5
+ export declare function createChannelClipPathId(params: {
6
+ sn?: string;
7
+ reactId: string;
8
+ }): string;
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/render/svgElement/ChannelClipPath/constants.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAMxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/render/svgElement/ChannelElement/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,QAAA,MAAM,cAAc,GAAI,UAAU,mBAAmB,4CAqCpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/render/svgElement/ChannelElement/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,UAAU,mBAAmB;IAC3B,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,QAAA,MAAM,cAAc,GAAI,UAAU,mBAAmB,4CAsCpD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DoodleTransformWrapper.d.ts","sourceRoot":"","sources":["../../../../../src/render/svgElement/TransformWrapper/DoodleTransformWrapper/DoodleTransformWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkBjD,UAAU,2BAA2B;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAmjBjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"DoodleTransformWrapper.d.ts","sourceRoot":"","sources":["../../../../../src/render/svgElement/TransformWrapper/DoodleTransformWrapper/DoodleTransformWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkBjD,UAAU,2BAA2B;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE;QAC9B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA0iBjE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fleet-frontend/mower-maps",
3
- "version": "0.2.5-beta.32",
3
+ "version": "0.2.5-beta.34",
4
4
  "type": "module",
5
5
  "description": "a mower maps in google maps",
6
6
  "main": "dist/index.js",