@abdellatifui/react 3.1.91 → 3.1.93

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/nextgen.d.ts CHANGED
@@ -617,6 +617,7 @@ declare type NetworkMapProps_2 = {
617
617
  className: string;
618
618
  hideLinksOnDrag: boolean;
619
619
  showHoveredLinksOnly: boolean;
620
+ showGoNodeControlButton: boolean;
620
621
  draggingMode: boolean;
621
622
  maxZoomOutForLinkCount: number;
622
623
  nodeSizeScaler: number;
package/dist/nextgen.js CHANGED
@@ -14,7 +14,7 @@ import { LayerExtension, _mergeShaders } from "@deck.gl/core";
14
14
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
15
15
  import { Cross2Icon, MagnifyingGlassIcon, ChevronDownIcon, ArrowLeftIcon, ArrowRightIcon, CheckIcon as CheckIcon$2, InfoCircledIcon, QuestionMarkCircledIcon } from "@radix-ui/react-icons";
16
16
  import $ from "jquery";
17
- import { CheckIcon as CheckIcon$1, Copy, CheckCheck, Info, ChevronUp, ChevronDown, X, Check, ChevronRight, ChevronLeft, EllipsisVertical, Eye, EyeOff, Filter, Search, ArrowUpDown, Rows4, FoldHorizontal, Grid2x2CheckIcon, Download, FilterX, RotateCw, Fullscreen, Brackets, LucideEllipsisVertical, Columns3, AlertTriangle, GripHorizontal, CircleCheckBig, CircleAlert, TriangleAlert, CircleHelp } from "lucide-react";
17
+ import { CheckIcon as CheckIcon$1, MapPin, Copy, CheckCheck, Info, ChevronUp, ChevronDown, X, Check, ChevronRight, ChevronLeft, EllipsisVertical, Eye, EyeOff, Filter, Search, ArrowUpDown, Rows4, FoldHorizontal, Grid2x2CheckIcon, Download, FilterX, RotateCw, Fullscreen, Brackets, LucideEllipsisVertical, Columns3, AlertTriangle, GripHorizontal, CircleCheckBig, CircleAlert, TriangleAlert, CircleHelp } from "lucide-react";
18
18
  export * from "lucide-react";
19
19
  import copy$1 from "copy-to-clipboard";
20
20
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
@@ -14148,7 +14148,7 @@ const useCreatePath = ({ connections = [], mapApi, options: options2, selectedCo
14148
14148
  () => {
14149
14149
  var _a;
14150
14150
  const seen = /* @__PURE__ */ new Set();
14151
- const f0 = (_a = connections == null ? void 0 : connections.filter((item) => (item == null ? void 0 : item.layer) === 0)) == null ? void 0 : _a.filter((item) => {
14151
+ const f0 = (_a = connections == null ? void 0 : connections.filter((item) => (item == null ? void 0 : item.layer) === 0 && (item == null ? void 0 : item.destination) && (item == null ? void 0 : item.source))) == null ? void 0 : _a.filter((item) => {
14152
14152
  if (seen.has(item.sourcesId)) return false;
14153
14153
  seen.add(item.sourcesId);
14154
14154
  return true;
@@ -14212,7 +14212,6 @@ const useCreatePath = ({ connections = [], mapApi, options: options2, selectedCo
14212
14212
  }
14213
14213
  return d.linkColor ? d.linkColor : options2 == null ? void 0 : options2.defaultLinkColorHex;
14214
14214
  },
14215
- // opacity: options?.draggingMode ? 0 : 1 ,
14216
14215
  main: true,
14217
14216
  capRounded: true,
14218
14217
  visible: mapDragging && (options2 == null ? void 0 : options2.hideLinksOnDrag) || (options2 == null ? void 0 : options2.draggingMode) && (options2 == null ? void 0 : options2.hideLinksOnDrag) || (options2 == null ? void 0 : options2.hideLinks) ? false : true,
@@ -14291,7 +14290,8 @@ const CustomMarker = (props) => {
14291
14290
  children,
14292
14291
  offset = [0, 0],
14293
14292
  markerProps = {},
14294
- style: style2 = {}
14293
+ style: style2 = {},
14294
+ className = {}
14295
14295
  } = props;
14296
14296
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
14297
14297
  Marker,
@@ -14299,8 +14299,11 @@ const CustomMarker = (props) => {
14299
14299
  longitude,
14300
14300
  latitude,
14301
14301
  anchor: "center",
14302
+ className: cn(
14303
+ "group z-30 isolate hover:z-40 w-fit h-fit",
14304
+ className
14305
+ ),
14302
14306
  style: {
14303
- zIndex: 30,
14304
14307
  ...style2
14305
14308
  },
14306
14309
  offset,
@@ -14309,7 +14312,7 @@ const CustomMarker = (props) => {
14309
14312
  );
14310
14313
  };
14311
14314
  const CustomMarker$1 = memo(CustomMarker);
14312
- function ConnectionBadge({ data, getCenterBox, points, mapApi, hoveredConnection }) {
14315
+ function ConnectionBadge({ data, getCenterBox, points, mapApi, hoveredConnection, setSupressLinkHover }) {
14313
14316
  const element = useMemo(() => {
14314
14317
  if (!data) return null;
14315
14318
  const visible = (hoveredConnection == null ? void 0 : hoveredConnection.u_id) == (data == null ? void 0 : data.u_id) ? true : false;
@@ -14320,6 +14323,8 @@ function ConnectionBadge({ data, getCenterBox, points, mapApi, hoveredConnection
14320
14323
  return /* @__PURE__ */ jsxRuntimeExports.jsx(StyledTooltip, { title: "Number of connections", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
14321
14324
  "div",
14322
14325
  {
14326
+ onMouseEnter: () => setSupressLinkHover(true),
14327
+ onMouseLeave: () => setSupressLinkHover(false),
14323
14328
  id: "#" + (data == null ? void 0 : data.connCountBoxId),
14324
14329
  style: {
14325
14330
  backgroundColor: data == null ? void 0 : data.linkColorHex,
@@ -14345,7 +14350,8 @@ const LinkCountCircule = (props) => {
14345
14350
  mapZooming,
14346
14351
  getCenterBox,
14347
14352
  hoveredConnection,
14348
- draggingMode: draggingMode2
14353
+ draggingMode: draggingMode2,
14354
+ setSupressLinkHover
14349
14355
  } = props;
14350
14356
  const [midpoint, setMidpoint] = useState(null);
14351
14357
  const [isVisible, setIsVisible] = useState(true);
@@ -14382,7 +14388,8 @@ const LinkCountCircule = (props) => {
14382
14388
  mapApi,
14383
14389
  points: midpoint,
14384
14390
  getCenterBox,
14385
- hoveredConnection
14391
+ hoveredConnection,
14392
+ setSupressLinkHover
14386
14393
  }
14387
14394
  )
14388
14395
  }
@@ -14439,36 +14446,56 @@ const PortText = (props) => {
14439
14446
  var _a;
14440
14447
  const ref = useRef(null);
14441
14448
  const {
14442
- text,
14443
14449
  rotation,
14444
14450
  isVisible,
14445
14451
  data,
14446
14452
  isFocused,
14447
14453
  fontSize,
14448
- isSource
14454
+ isSource,
14455
+ setSupressLinkHover
14449
14456
  } = props;
14450
14457
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
14451
14458
  "div",
14452
14459
  {
14453
14460
  ref,
14461
+ onMouseEnter: (e) => {
14462
+ console.log(data);
14463
+ setSupressLinkHover(true);
14464
+ },
14465
+ onMouseLeave: (e) => {
14466
+ setSupressLinkHover(false);
14467
+ },
14454
14468
  className: cn(
14455
- "w-fit h-fit font-geist space-y-1 text-xs z-[300] rounded-full text-accent px-1 cursor-default pointer-events-all hover:!scale-[1.5] transition-all duration-300",
14456
- isFocused && "!scale-[1.5]"
14469
+ "space-y-[2px] hover:space-y-1 w-fit h-fit hover:bg-black/50 font-geist text-xs rounded text-accent p-1 cursor-default pointer-events-all hover:!scale-[1.5] transition-all duration-300",
14470
+ isFocused && "!scale-[1.5]",
14471
+ !isVisible && "opacity-0"
14457
14472
  ),
14458
14473
  style: {
14459
14474
  transform: `rotate(${rotation}deg)`,
14460
14475
  transformOrigin: "50% 50%",
14461
- display: "inline-flex",
14476
+ position: "relative",
14462
14477
  alignItems: "center",
14463
14478
  justifyContent: "center",
14464
- backgroundColor: data == null ? void 0 : data.linkColorHex,
14465
- opacity: isVisible ? 1 : 0,
14466
14479
  fontSize: fontSize + "rem"
14467
14480
  },
14468
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: (_a = data == null ? void 0 : data.linksGroup) == null ? void 0 : _a.map((item) => {
14469
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn(
14470
- "px-2 bg-black/20 rounded-full "
14471
- ), children: (item == null ? void 0 : item.isSource) ? item == null ? void 0 : item.sourcePort : item == null ? void 0 : item.destinationPort }, "txtport-" + (item == null ? void 0 : item.u_id));
14481
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: (_a = data == null ? void 0 : data.linksGroup) == null ? void 0 : _a.map((item) => {
14482
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
14483
+ "div",
14484
+ {
14485
+ className: cn(
14486
+ "flex gap-x-2 px-1 group/2 w-fit rounded-full relative hover:ring-[4px] outline-offset-1 outline-blue-600 transition-all duration-300 ease-in-out"
14487
+ ),
14488
+ id: `#sub-${item == null ? void 0 : item.u_id}`,
14489
+ style: {
14490
+ backgroundColor: data == null ? void 0 : data.linkColorHex
14491
+ },
14492
+ children: [
14493
+ isSource ? item == null ? void 0 : item.sourcePort : item == null ? void 0 : item.destinationPort,
14494
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[0px] group-hover/2:text-xs text-black/80 -translate-x-full group-hover/2:translate-x-0 transition-all duration-300 ease-in-out relative flex gap-x-2", children: isSource ? item == null ? void 0 : item.destinationPort : item == null ? void 0 : item.sourcePort })
14495
+ ]
14496
+ },
14497
+ "txtport-" + (item == null ? void 0 : item.u_id)
14498
+ );
14472
14499
  }) })
14473
14500
  }
14474
14501
  );
@@ -14484,7 +14511,9 @@ const SourcesPorts = (props) => {
14484
14511
  getEndpointText,
14485
14512
  mapRotating,
14486
14513
  fontSize,
14487
- draggingMode: draggingMode2
14514
+ draggingMode: draggingMode2,
14515
+ supressLinkHover,
14516
+ setSupressLinkHover
14488
14517
  } = props;
14489
14518
  const [midpoint, setMidpoint] = useState(null);
14490
14519
  const [isVisible, setIsVisible] = useState(true);
@@ -14619,7 +14648,10 @@ const SourcesPorts = (props) => {
14619
14648
  isFocused,
14620
14649
  fontSize,
14621
14650
  isSource: true,
14622
- draggingMode: draggingMode2
14651
+ draggingMode: draggingMode2,
14652
+ supressLinkHover,
14653
+ setSupressLinkHover,
14654
+ vsConn: data == null ? void 0 : data.destinationPort
14623
14655
  }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
14624
14656
  PortText,
14625
14657
  {
@@ -14629,7 +14661,10 @@ const SourcesPorts = (props) => {
14629
14661
  data,
14630
14662
  isFocused,
14631
14663
  fontSize,
14632
- isSource: true
14664
+ isSource: true,
14665
+ supressLinkHover,
14666
+ setSupressLinkHover,
14667
+ vsConn: data == null ? void 0 : data.destinationPort
14633
14668
  }
14634
14669
  )
14635
14670
  }
@@ -14648,7 +14683,10 @@ const SourcesPorts = (props) => {
14648
14683
  isFocused,
14649
14684
  fontSize,
14650
14685
  isSource: false,
14651
- draggingMode: draggingMode2
14686
+ draggingMode: draggingMode2,
14687
+ supressLinkHover,
14688
+ setSupressLinkHover,
14689
+ vsConn: data == null ? void 0 : data.sourcePort
14652
14690
  }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
14653
14691
  PortText,
14654
14692
  {
@@ -14659,7 +14697,10 @@ const SourcesPorts = (props) => {
14659
14697
  getEndpointText,
14660
14698
  isFocused,
14661
14699
  fontSize,
14662
- isSource: false
14700
+ isSource: false,
14701
+ supressLinkHover,
14702
+ setSupressLinkHover,
14703
+ vsConn: data == null ? void 0 : data.sourcePort
14663
14704
  }
14664
14705
  )
14665
14706
  }
@@ -14667,6 +14708,20 @@ const SourcesPorts = (props) => {
14667
14708
  ] });
14668
14709
  };
14669
14710
  const SourcesPorts$1 = memo(SourcesPorts);
14711
+ const CustomNavigateButtons = (props) => {
14712
+ const {
14713
+ mapApi,
14714
+ showGoNodeControlButton
14715
+ } = props;
14716
+ const onMapPinClick = () => {
14717
+ var _a, _b, _c, _d;
14718
+ (_d = mapApi == null ? void 0 : mapApi.current) == null ? void 0 : _d.FlyToNodeApi(
14719
+ (_c = (_b = (_a = mapApi == null ? void 0 : mapApi.current) == null ? void 0 : _a.nodes) == null ? void 0 : _b[0]) == null ? void 0 : _c.elementId
14720
+ );
14721
+ };
14722
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute bottom-10 overflow-hidden right-3 z-50 min-h-[60px] w-[25px] gap-2 bg-white border rounded-full flex flex-wrap items-center justify-center py-1", children: showGoNodeControlButton && /* @__PURE__ */ jsxRuntimeExports.jsx(StyledTooltip, { title: "Go to first node", children: /* @__PURE__ */ jsxRuntimeExports.jsx(MapPin, { onClick: onMapPinClick, className: "text-blue-600 hover:bg-accent rounded-full", size: 18 }) }) });
14723
+ };
14724
+ const CustomNavigateButtons$1 = memo(CustomNavigateButtons);
14670
14725
  const baseFont = 0.75;
14671
14726
  const mapStyles = [
14672
14727
  { "name": "street1", url: "https://api.maptiler.com/maps/streets/style.json?key=4s1cX8zNpChcrWFsQqbP" },
@@ -14699,6 +14754,7 @@ const NetworkMapComponent = forwardRef((props, ref) => {
14699
14754
  MapLogoClassName,
14700
14755
  MapLogoStyle,
14701
14756
  linkAnimation = true,
14757
+ showGoNodeControlButton = true,
14702
14758
  onConnClick = () => {
14703
14759
  },
14704
14760
  onConnection,
@@ -14758,6 +14814,7 @@ const NetworkMapComponent = forwardRef((props, ref) => {
14758
14814
  const [inViewNodes, setInViewNodes] = useState([]);
14759
14815
  const [inViewConnections, setInViewConnections] = useState([]);
14760
14816
  const [hasInternet, setHasInternet] = useState(true);
14817
+ const [supressLinkHover, setSupressLinkHover] = useState(false);
14761
14818
  useEffect(() => {
14762
14819
  if (debug) {
14763
14820
  console.log(props);
@@ -14837,10 +14894,12 @@ const NetworkMapComponent = forwardRef((props, ref) => {
14837
14894
  }
14838
14895
  const CreateMapObjectsScheme = useCallback((_nodes2, _connections, updateOnly = false) => {
14839
14896
  if (!mapApi.current) return;
14840
- const processedNodes = _nodes2.map((node2) => ({
14841
- ...node2,
14842
- connections: []
14843
- }));
14897
+ const processedNodes = _nodes2.map((node2) => {
14898
+ return {
14899
+ ...node2,
14900
+ connections: []
14901
+ };
14902
+ });
14844
14903
  const processedConnections = updateOnly ? _connections : _connections == null ? void 0 : _connections.map((conn) => {
14845
14904
  return {
14846
14905
  ...conn,
@@ -14857,21 +14916,40 @@ const NetworkMapComponent = forwardRef((props, ref) => {
14857
14916
  data: conn,
14858
14917
  connCountBoxId: useRandomId(),
14859
14918
  timestamp: [0, 5, 10, 15],
14860
- // linkCount : linksGroup?.length,
14861
- // linksGroup : linksGroup ,
14862
14919
  sourcesId: (conn.sourceId + conn.destinationId).toString().split("").sort().join(""),
14863
14920
  fullSourcesId: (conn.sourceId + (conn == null ? void 0 : conn.sourcePort) + conn.destinationId + (conn == null ? void 0 : conn.destinationPort)).toString().split("").sort().join("")
14864
14921
  };
14865
14922
  });
14923
+ processedConnections == null ? void 0 : processedConnections.map((con) => {
14924
+ const sourcesId = con == null ? void 0 : con.sourcesId;
14925
+ const s = processedConnections == null ? void 0 : processedConnections.filter((item) => (item == null ? void 0 : item.sourcesId) == sourcesId);
14926
+ con.linkCount = s == null ? void 0 : s.length;
14927
+ con.linksGroup = s;
14928
+ });
14929
+ if (debug) {
14930
+ console.log("Processed Nodes", processedNodes);
14931
+ console.log("Processed Connections", processedConnections);
14932
+ }
14933
+ const seen = /* @__PURE__ */ new Set();
14934
+ const f0 = [];
14935
+ const ignored = [];
14936
+ for (const conn of processedConnections || []) {
14937
+ if (seen.has(conn.sourcesId)) {
14938
+ ignored.push(conn.sourceId);
14939
+ continue;
14940
+ }
14941
+ f0.push(conn);
14942
+ seen.add(conn.sourcesId);
14943
+ }
14866
14944
  processedNodes.forEach((node2, nodeIndex) => {
14867
- processedConnections.forEach((conn, connIndex) => {
14945
+ f0.forEach((conn, connIndex) => {
14868
14946
  const key = (node2 == null ? void 0 : node2.elementId) === (conn == null ? void 0 : conn.sourceId) ? "source" : (node2 == null ? void 0 : node2.elementId) === (conn == null ? void 0 : conn.destinationId) ? "destination" : null;
14869
14947
  if (key) {
14870
- processedConnections[connIndex].nodes = [
14871
- ...processedConnections[connIndex].nodes,
14948
+ f0[connIndex].nodes = [
14949
+ ...f0[connIndex].nodes,
14872
14950
  node2
14873
14951
  ];
14874
- processedConnections[connIndex][key] = node2 == null ? void 0 : node2.location;
14952
+ f0[connIndex][key] = node2 == null ? void 0 : node2.location;
14875
14953
  processedNodes[nodeIndex].connections = [
14876
14954
  ...processedNodes[nodeIndex].connections,
14877
14955
  conn
@@ -14879,18 +14957,18 @@ const NetworkMapComponent = forwardRef((props, ref) => {
14879
14957
  }
14880
14958
  });
14881
14959
  });
14882
- processedConnections == null ? void 0 : processedConnections.map((con) => {
14883
- const sourcesId = con == null ? void 0 : con.sourcesId;
14884
- const s = processedConnections == null ? void 0 : processedConnections.filter((item) => (item == null ? void 0 : item.sourcesId) == sourcesId);
14885
- con.linkCount = s == null ? void 0 : s.length;
14886
- con.linksGroup = s;
14887
- });
14888
- if (debug) {
14889
- console.log("Processed Nodes", processedNodes);
14890
- console.log("Processed Connections", processedConnections);
14891
- }
14892
14960
  setNodes(processedNodes);
14893
- setConns(processedConnections);
14961
+ setConns(f0);
14962
+ console.log(
14963
+ "seen ",
14964
+ seen.length,
14965
+ "f0 ",
14966
+ f0.length,
14967
+ "ignored ",
14968
+ ignored.length,
14969
+ "all",
14970
+ connections.length
14971
+ );
14894
14972
  }, [mapApi]);
14895
14973
  useEffect(() => {
14896
14974
  if (!mapApi.current) return;
@@ -14979,6 +15057,7 @@ const NetworkMapComponent = forwardRef((props, ref) => {
14979
15057
  var _a, _b;
14980
15058
  return (_b = (_a = mapApi.current) == null ? void 0 : _a.getCanvas) == null ? void 0 : _b.call(_a);
14981
15059
  },
15060
+ props,
14982
15061
  createNode,
14983
15062
  removeNode,
14984
15063
  getNodes,
@@ -15006,8 +15085,14 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15006
15085
  setSelectedConn,
15007
15086
  setSelectedNode,
15008
15087
  setOnScreenLinksGroup,
15009
- ...mapApi.current
15010
- }));
15088
+ ...mapApi.current,
15089
+ inViewConnections,
15090
+ inViewNodes,
15091
+ connections,
15092
+ nodes,
15093
+ setSupressLinkHover,
15094
+ supressLinkHover
15095
+ }), [debug, showAllLinks, showGoNodeControlButton]);
15011
15096
  const _menuItems = useMemo(() => {
15012
15097
  return (menuItems == null ? void 0 : menuItems.map((item) => ({
15013
15098
  ...item,
@@ -15053,6 +15138,9 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15053
15138
  };
15054
15139
  const handleHover = (e) => {
15055
15140
  var _a, _b, _c;
15141
+ if (supressLinkHover) {
15142
+ return;
15143
+ }
15056
15144
  if (!e.layer) {
15057
15145
  setHoveredConnection(null);
15058
15146
  }
@@ -15068,7 +15156,7 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15068
15156
  if ((e == null ? void 0 : e.picked) && ((_b = (_a = e == null ? void 0 : e.layer) == null ? void 0 : _a.props) == null ? void 0 : _b.main)) {
15069
15157
  mapApi.current.getCanvas().style.cursor = "default";
15070
15158
  setHoveredConnection({ ...e.object });
15071
- onLinkMouseOver({ event: e, data: e == null ? void 0 : e.object, type: "connection", id: (_c = e == null ? void 0 : e.object) == null ? void 0 : _c.id, mapApi });
15159
+ onLinkMouseOver({ event: e, data: e == null ? void 0 : e.object, type: "connection", id: (_c = e == null ? void 0 : e.object) == null ? void 0 : _c.id, mapApi: ref || mapApi });
15072
15160
  }
15073
15161
  };
15074
15162
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -15203,10 +15291,11 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15203
15291
  selectedNode,
15204
15292
  onNodeSelected: _onNodeSelected,
15205
15293
  onNodeMouseOver: _onNodeMouseOver,
15206
- mapApi,
15294
+ mapApi: ref,
15207
15295
  nodes: _nodes,
15208
15296
  connections: _conns,
15209
- setNodeContextMenuEvent
15297
+ setNodeContextMenuEvent,
15298
+ setSupressLinkHover
15210
15299
  },
15211
15300
  "_node_" + (item == null ? void 0 : item.elementId)
15212
15301
  );
@@ -15216,7 +15305,7 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15216
15305
  {
15217
15306
  conn: hoveredConnection,
15218
15307
  coordinates: currentCoordinates,
15219
- mapApi,
15308
+ mapApi: ref,
15220
15309
  getOverLinkElement,
15221
15310
  getOverLinkElementDelay,
15222
15311
  draggingMode: draggingMode2
@@ -15227,11 +15316,12 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15227
15316
  LinkCountCircule$1,
15228
15317
  {
15229
15318
  data: con,
15230
- mapApi,
15319
+ mapApi: ref,
15231
15320
  mapDragging,
15232
15321
  getCenterBox,
15233
15322
  hoveredConnection,
15234
- draggingMode: draggingMode2
15323
+ draggingMode: draggingMode2,
15324
+ setSupressLinkHover
15235
15325
  },
15236
15326
  "_lnk_count_circule_" + (con == null ? void 0 : con.u_id)
15237
15327
  );
@@ -15242,20 +15332,25 @@ const NetworkMapComponent = forwardRef((props, ref) => {
15242
15332
  {
15243
15333
  fontSize: sourcePortsFontSizePercentage,
15244
15334
  data: con,
15245
- mapApi,
15335
+ mapApi: ref,
15246
15336
  currentZoomLevel,
15247
15337
  hoveredConnection,
15248
15338
  mapDragging,
15249
15339
  getEndpointText,
15250
15340
  mapRotating,
15251
- draggingMode: draggingMode2
15341
+ draggingMode: draggingMode2,
15342
+ setSupressLinkHover
15252
15343
  },
15253
15344
  "_source_port_" + (con == null ? void 0 : con.u_id)
15254
15345
  );
15255
15346
  })),
15347
+ /* @__PURE__ */ jsxRuntimeExports.jsx(NavigationControl, {}),
15256
15348
  /* @__PURE__ */ jsxRuntimeExports.jsx(
15257
- NavigationControl,
15258
- {}
15349
+ CustomNavigateButtons$1,
15350
+ {
15351
+ mapApi: ref,
15352
+ showGoNodeControlButton
15353
+ }
15259
15354
  ),
15260
15355
  MapLogo && /* @__PURE__ */ jsxRuntimeExports.jsx(
15261
15356
  "div",