Commit Graph
831 Commits
Author SHA1 Message Date
Braks 2bacaa8b2d fix(core): only emit position changes if change occurred (#1939)
* fix(core): only emit position changes if a position change occurred

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-31 14:16:26 +02:00
Braks bd606b98a2 refactor(core): avoid passing reactive values to position changes (#1937)
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-31 13:59:37 +02:00
Braks 490473d997 fix(core): prevent multi touch from aborting connections (#1938)
* fix(core): prevent multi touch from aborting connections

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-31 13:59:37 +02:00
Braks c9c26d02f6 fix(core): skip resize handler if node not visible (#1936)
* fix(core): skip resize handler if node not visible

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-31 13:59:37 +02:00
Braks e9f0cdff3d fix(core): correctly check if an event has any listeners bound to it (#1935)
* fix(core): separate listeners from emitter for correct check on hasListeners

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): check for listeners bound via emits

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-31 13:59:37 +02:00
Braks dd48e47d02 fix(core): use valid handle result as connecting handle (#1932)
* fix(core): use valid handle result as connecting handle

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-31 13:59:37 +02:00
Braks 299a04531e refactor(core): use event target for Handle pointer down events (#1924)
* refactor(core): use event target for Handle pointer down events

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-15 13:25:11 +02:00
Braks c2aad1e43b fix(core): fetch correct source and target nodes for isValidConnection (#1922)
* fix(core): fetch correct source and target nodes for isValidConnection

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-15 13:25:11 +02:00
Braks 58a52e1374 fix(minimap): use 1 as zoomstep for minimap and apply factor based on macOs (#1923)
* fix(minimap): use 1 as zoomstep for minimap and apply factor based on macOs

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* refactor(core): expose isMacOs

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-15 13:25:11 +02:00
Braks 5fbbc826e5 feat(core): expose wheelDelta utility (#1918)
* feat(core): expose wheelDelta utility

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

* fix(minimap): apply wheel delta to zoom

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-15 13:25:11 +02:00
Braks e97a65b6b5 fix(core): calculate overlapping area correctly (#1914)
* fix(core): calculate overlapping area correctly

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-07 15:39:59 +02:00
Braks ed18865525 fix(core): emit node drag-start, drag and drag-end events on selection drag (#1913)
* fix(core): emit node drag-start, drag and drag-end events on selection drag

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-07 15:39:59 +02:00
Braks a43da6f1ec fix(core): use correct handlesuffix in getHandleConnections (#1880)
* fix(core): use correct handlesuffix in `getHandleConnections`

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-08-07 15:39:59 +02:00
BraksandKirill Zaytsev 8fa70107a0 feat(core): add dom attributes option for nodes and edges (#1869)
* feat(core): add dom attributes option for nodes and edges (#1861)

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

* chore: cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
Co-authored-by: Kirill Zaytsev <zaytsev.cmath10@gmail.com>
2025-06-10 16:24:11 +02:00
Kirill ZaytsevandBraks 4c1b064230 feat(core): add dom attributes option for nodes (#1861)
feat: Possibility to customize nodes HTML attributes
2025-06-10 16:24:11 +02:00
Braks 505fbfef74 feat(core): add interpolate option to viewport transforming functions (#1851)
* chore(core): add d3-interpolate to deps

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* feat(core): add interpolate option to viewport transforming functions

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

* feat(core): add interpolate option to viewport transforming functions

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-05-19 17:35:54 +02:00
Braks 00bc28bf1b feat(core): add ease option to viewport transform functions (#1848)
* chore(core): update d3-deps

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* feat(core): add ease option to viewport transform functions

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

* chore: cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-05-19 17:35:54 +02:00
BraksandGitHub b792d7f536 refactor(core): use shallowRef where possible (#1847)
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-05-19 13:56:01 +02:00
Braks 735c81c63f fix(core): use whole handle for snapping area (#1843)
* chore(changeset): add

* fix(core): use whole handle for snapping area

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-05-15 18:37:14 +02:00
Braks 666e4eabab fix(core): allow multiselect when input is focused (#1842)
* fix(core): allow multiselect when input is focused

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-05-15 18:37:14 +02:00
Braks ae9c6a0fe2 fix(core): add missing vue-flow__container class to marker defs (#1833) 2025-04-24 15:45:36 +02:00
Braks cc65f12af9 fix(core): fall back to changedTouches for touchend events (#1830)
* fix(core): fall back to changedTouches for touchend events

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-04-23 20:39:08 +02:00
Braks 265f928f13 fix(core): subtract container bounds when getting pointer position (#1829)
* fix(core): subtract container bounds when getting pointer position

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore: cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-04-23 20:39:08 +02:00
Braks 7d9ffe3f35 chore(core): cleanup getHandleBounds (#1828)
chore(core): cleanup getHandleBounds

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-04-23 20:39:08 +02:00
Braks 7a09afa12a refactor(core): allow passing null/undefined to use node connection args (#1820)
* refactor(core): allow passing null/undefined to use node connection args

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-04-23 20:39:08 +02:00
Braks cb588c8aa9 fix(core): add aria hidden to markers (#1817)
* fix(core): add aria hidden to markers

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-04-23 20:39:08 +02:00
Braks 967569aa6d fix(core): add button to elements to ignore in useKeyPress (#1807)
* fix(core): add button to elements to ignore in useKeyPress

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): add prevent default option to useKeyPress

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-29 16:57:08 +01:00
Braks 05e4df2cb6 fix(core): remove edge lookup update when updating connection lookup
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-17 12:47:52 +01:00
Braks b85b0ec66f fix(core): reset drag items on drag end (#1798)
* fix(core): reset drag items on drag end

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-17 12:47:52 +01:00
Braks c9fd24dc82 fix(core): use null as fallback id for edge source handle (#1794)
* fix(core): use null as fallback id for edge source handle

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-17 12:47:52 +01:00
Braks 410a59df5b fix(core): unwrap ref when checking if connection in progress (#1789)
* fix(core): unwrap ref when checking if connection in progress

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-13 06:56:32 +01:00
Braks dd9c92ff81 fix(core): avoid removing handle bounds on handle unmount (#1781)
* fix(core): avoid removing handle bounds on handle unmount

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-09 10:10:38 +01:00
Braks 49b2780740 fix(core): prevent pane click event when connection is in progress (#1776)
* fix(core): prevent pane click event when connection is in progress

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-03-09 10:10:38 +01:00
Braks 424f6cf63c fix(core): correct connection keys (#1749)
* fix(core): correct connection keys

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-01-16 11:42:01 +01:00
Braks f78c348947 refactor(core): rename useNodeConnections params (#1743)
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-01-12 10:05:01 +01:00
Braks 44b9232b19 refactor(core): inherit attrs on edge path el in BaseEdge (#1742)
* refactor(core): inherit attrs on edge path el in base edge

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-01-12 10:05:01 +01:00
Braks 6f3ed67463 refactor(core): use connection lookup to check for selected elements (#1737)
* refactor(core): use connection lookup to check for selected elements

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-01-12 10:05:01 +01:00
Braks 3d1b85fce2 refactor(core): allow setting handleId in useNodeConnections (#1732)
* refactor(core): allow setting handleId in useNodeConnections

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): deprecate useHandleConnections

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(examples): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(docs): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(docs): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-01-12 10:05:01 +01:00
Braks 268ed0e84e feat(core): add useNodeConnections composable (#1728)
* feat(core): add `useNodeConnections` composable

* chore(core): export `useNodeConnections`

* chore(docs): update math example

* docs: add guide for `useNodeConnections`

* chore(changeset): add
2025-01-12 10:05:01 +01:00
Braks b33da47a3a fix(core): use center position of handle as snapping point for connection lines (#1625)
* fix(core): calculate handle positions correctly

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): remove handleId check

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup click connect handlers

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): add flow id to handle ids

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* tests: correct updateEdge test

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): use center position of handle

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(examples): cleanup easy connect example

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* refactor(tests): run actions on chrome

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(workflows): correctly hash lock file

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2025-01-04 16:56:00 +01:00
Braks f4f2494fd1 fix(core): allow control key as pan activation key code (#1707)
* fix(core): allow control key as pan activation key code

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): allow drag regardless of btn chosen

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): prevent browser ctx menu on pane right click

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup useKeyPress handler

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): check `panOnDrag` prop for allowed drag buttons

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-12-07 16:39:07 +01:00
Braks 7a022c89c6 fix(core): update source/target node of updated edge (#1705)
* fix(core): update source/target node of updated edge

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-12-07 16:39:07 +01:00
Braks 600d1a63fd fix(core): prevent scrolling when using arrow keys to move node selection (#1702)
* fix(core): prevent scrolling when using arrow keys to move node selection

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): update

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-12-07 16:39:07 +01:00
Braks 04d13551e3 fix(frontend,core): prevent scrolling when using arrow keys to move nodes (#1698)
* fix(frontend,core): prevent scrolling when using arrow keys to move nodes

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-12-07 16:39:07 +01:00
Braks f7a266415a fix(core): escape node labels (#1695)
* fix(core): escape node labels

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-11-13 20:20:43 +01:00
Braks 4b8139da66 fix(core): release key combination presses (#1696)
* fix(core): release key combination presses

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-11-13 20:20:43 +01:00
Braks 2e2fa9a93c fix(core): allow using + as a key in key combinations (#1693)
* fix(core): allow using `+` as a key in key combinations

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-11-13 20:20:43 +01:00
Braks 5a028cf2d4 fix(core): check if dragEnd event is UseDrag or MouseTouch event (#1680)
* feat(core): add snapPosition util

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(core): check if dragEnd event is actually a UseDrag or MouseTouch event

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(core): cleanup

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-11-13 20:20:43 +01:00
Braks 1e3acb1979 fix(core): if selection key code is true prevent pan on drag on left mouse btn (#1670)
* fix(core): if selection key code is true prevent pan on drag on left mouse btn

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* chore(changeset): add

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

* fix(tests): correct viewport drag tests

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>

---------

Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-11-01 23:13:48 +01:00
braks ecd21ceebb fix(core): allow pan on drag for other mouse btns if left is disabled
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
2024-11-01 19:48:16 +01:00