Commit Graph

911 Commits

Author SHA1 Message Date
github-actions[bot]
81a284a27c chore(packages): bump 2026-02-18 20:15:08 +00:00
Moritz Klack
ac89f9fa63 Merge pull request #5684 from ysds/fix/nodes-selection-drag-after-programmatic-selection
fix: ensure drag handlers update when nodes selection changes programmatically
2026-02-18 21:13:47 +01:00
Moritz Klack
d66689691d Merge pull request #5704 from xyflow/fix/old-callback-reference
Fix old callback references passed to XYHandle
2026-02-18 21:04:47 +01:00
peterkogo
45a4a977c5 Always use latest version of onConnectEnd & isValidConnection in Handle/ReconnectAnchors 2026-02-10 16:02:43 +01:00
peterkogo
ce6c869df4 Improve return type of useNodesdata 2026-02-10 10:58:51 +01:00
peterkogo
cb41f444eb simplify code & useEffect instead of uselayoutEffect 2026-02-09 07:57:41 +01:00
Moritz Klack
be40c34010 Fix formatting in MiniMap component usage 2026-02-03 15:32:24 +01:00
Moritz Klack
39ff6e94b5 Merge pull request #5682 from artemtam/main
Prevent unnecessary updates when selectNodesOnDrag = false
2026-02-02 12:21:12 +01:00
Moritz Klack
89062ef506 Refactor loop variables for clarity in index.ts 2026-02-02 12:20:35 +01:00
Moritz Klack
3f93f828ec Merge pull request #5692 from xyflow/fix-exception-unmounting
Fix exception unmounting
2026-01-27 11:26:16 +01:00
moklick
b4e69a1fa3 chore(minimap): cleanup 2026-01-27 11:23:28 +01:00
Moritz Klack
c029cd1a28 Simplify paneDragging state update logic 2026-01-27 11:17:16 +01:00
filippo-one
2db23d9eab handle undefined node in NodeComponentWrapperInner 2026-01-26 15:19:40 +01:00
Veniamin Krol
6d119eb582 Optimize zooming when panOnScroll is enabled
Do not update the store every time the wheel event is triggered if nothing has changed.
2026-01-26 10:33:52 +01:00
ysds
03b8e1ef19 fix: ensure drag handlers update when nodes selection changes programmatically
Fixes #4841

When nodes were programmatically selected (e.g., adding a new node with `selected: true`),
the nodes selection rectangle would appear but dragging it would not work.

Changes:
- Consolidated duplicate effect hooks in useDrag into a single useIsomorphicLayoutEffect
- Added `disabled` parameter to useDrag to allow external control
- NodesSelection now passes `disabled: !shouldRender` to useDrag
- Improved condition clarity with `shouldRender` variable

This ensures drag handlers are properly set up when nodeRef.current becomes available,
even when the selection state changes after the initial render.
2026-01-24 02:29:02 +09:00
artemtam
904c2081fe Prevent unnecessary updates when selectNodesOnDrag = false 2026-01-22 13:43:56 +01:00
github-actions[bot]
c0ed3c33a3 chore(packages): bump 2025-12-04 13:12:34 +00:00
moklick
83a312b2e1 chore(zIndexMode): use basic as default 2025-12-03 14:04:15 +01:00
peterkogo
14fd41b1f1 change default back to elevateEdgesOnSelect=false and zIndexMode=basic 2025-12-03 13:20:14 +01:00
moklick
3680a6a0e6 Merge branch 'main' into feat/zindexmode 2025-12-02 17:10:35 +01:00
moklick
a523919d67 chore(middleware): cleanup 2025-12-02 16:40:26 +01:00
Moritz Klack
e4e3605d62 Merge branch 'main' into middlewares 2025-12-02 16:34:21 +01:00
moklick
2c05b3224a Merge branch 'feat/zindexmode' of github.com:xyflow/xyflow into feat/zindexmode 2025-12-02 13:43:40 +01:00
moklick
ddbb9280f6 chore(examples): add zindexmode 2025-12-02 13:43:12 +01:00
Moritz Klack
9faca3357d Merge branch 'main' into feat/zindexmode 2025-12-02 13:41:50 +01:00
moklick
4eb42952f0 feat(svelte): add zIndexMode 2025-12-01 12:11:19 +01:00
moklick
fe3bb90c54 feat(zIndexMode): use it for edges too 2025-12-01 11:04:57 +01:00
Moritz Klack
25341c6078 Merge pull request #5592 from svilen-ivanov-kubit/svilen-ivanov-kubit-patch-1
Avoid modifying `node.measured` object, create copy instead
2025-11-25 13:03:27 +01:00
moklick
f858cbb404 chore(apply-changes): cleanup) 2025-11-25 12:34:49 +01:00
moklick
f617616dc9 chore(xyhandle): cleanup 2025-11-25 11:01:27 +01:00
Tornado Softwares
99453f0993 Fix #5633 2025-11-18 16:24:11 +01:00
moklick
0102be3bab chore(flow-renderer): cleanup imports 2025-11-17 10:15:42 +01:00
Alaric Baraou
5161cf3279 prevent re-render on every store update by using shallow in FlowRendererComponent useStore 2025-11-17 01:10:00 +09:00
moklick
d59707f4f2 feat(nodes-edges): add zIndexMode 2025-11-13 10:28:56 +01:00
github-actions[bot]
12c516d5f2 chore(packages): bump 2025-11-13 08:53:39 +00:00
moklick
cb2db9f2d2 chore(reactflow): paneClickDistance default 1 2025-11-12 15:50:20 +01:00
Moritz Klack
7680cef3d8 Merge pull request #5594 from xyflow/enhance/connection-snapping
Enhance/connection snapping
2025-10-30 21:19:38 +01:00
github-actions[bot]
a52ccc2520 chore(packages): bump 2025-10-30 14:30:05 +00:00
moklick
b298819062 chore(pane): handle nodes selection 2025-10-30 15:19:41 +01:00
peterkogo
0d2cda7dff also postpone starting selection when clicking on a node 2025-10-30 15:19:40 +01:00
Svilen Ivanov
f739c7fae1 Avoid modifying node.measured object, create copy instead
When working with immutable `node` data, modifying in-place `node.measured` properties is not allowed. Since we perform a shallow copy, we need to create a new `measured` object to populate `width` and `height`
2025-10-30 16:04:40 +02:00
peterkogo
11aa29b587 always pass current pointer position to connection 2025-10-29 12:11:05 +01:00
github-actions[bot]
1522b2451d chore(packages): bump 2025-10-28 15:16:21 +00:00
peterkogo
2baa839138 simplify conditions 2025-10-28 14:00:05 +01:00
peterkogo
eb7a27251a rename hasActiveSelection to isSelectionEnabled 2025-10-28 13:21:59 +01:00
peterkogo
7238977e7a make sure elements are deselected once the selection starts 2025-10-28 12:35:41 +01:00
peterkogo
f29adb8353 only prevent pointer events when starting selection box on top of node 2025-10-28 12:20:47 +01:00
peterkogo
5d0887c9db cleanup paneClickDistance remnants 2025-10-28 11:46:33 +01:00
peterkogo
2fb4933506 make sure onSelectionEnd is always fired 2025-10-28 11:42:51 +01:00
moklick
e743054b7e chore(pane): cleanup 2025-10-28 09:29:00 +01:00