Commit Graph
233 Commits
Author SHA1 Message Date
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 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 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 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 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 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 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 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 72e0e2e97e fix(core): set isPressed to true on blur and contextmenu events if permant keypress is enabled (#1667)
* fix(core): set isPressed to `true` on reset if permanent keypress is enabled

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-01 19:48:16 +01:00
Braks fe552fc5c5 fix(core): allow pan on drag for non left-btn when selectionKeyCode is true (#1662)
* fix(core): allow pan on drag for non left-btn when selection key code is true

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

* fix(core): reorder pane class names

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-01 19:48:16 +01:00
Braks 6cc30429b5 fix(core): calculate distance to trigger drag-click (#1624)
* fix(core): calculate distance to trigger drag-click

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-09-16 13:11:49 +02:00
Braks 43ed0a8318 fix(core): prevent drag click when multi selection is active (#1609)
* fix(core): prevent drag click when multi selection is active

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-09-06 09:50:34 +02:00
Braks 1d772af4a4 refactor(core): remove null as return type of data in useNodesData (#1575)
* refactor(core): remove `null` as return type of data

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-08-19 18:19:04 +02:00
Braks fff558fbc3 fix(core): check if injected state matches options and scope id (#1562)
* fix(core): prefer options id when finding state

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

* fix(core): check if injected state matches options id

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-07-27 20:23:46 +02:00
Braks 8539731a8a fix(core): dispatch click if drag move was attempted (#1534)
* fix(core): dispatch click if drag move was attempted

* chore(core): cleanup
2024-07-15 19:14:01 +02:00
Braks d4ccb11a4c feat(core): add autoPanSpeed prop (#1535)
* feat(core): add `autoPanSpeed` prop

* chore(changeset): add
2024-07-15 19:14:01 +02:00
braks dab5ab4bbf fix(core): ignore minor drag movements when marking aborted drag 2024-07-09 10:16:32 +02:00
Braks 9d14595f1d fix(core): emit node click if drag was aborted (#1525)
* fix(core): emit node click if drag was aborted

* chore(changeset): add

* chore(core): cleanup
2024-07-09 00:42:51 +02:00
Braks 4548021b74 fix(core): emit node click event when drag was ended with no movement (#1522)
* fix(core): emit node click event when drag was ended with no movement

* chore(changeset): add
2024-07-08 22:22:48 +02:00
Braks 9154687410 fix(core): avoid re-snapping to same handle (#1514)
* fix(core): avoid re-snapping to same handle

* chore(changeset): add
2024-07-01 16:03:21 +02:00
Braks 3489fae8fe refactor(core): use correct end handle position in connection line (#1508)
* refactor(core): use correct end handle position in connection line

* chore(changeset): add
2024-07-01 09:44:55 +02:00
Braks 545bb4edf5 refactor(core): remove useWindow (#1504)
refactor(core): remove `useWindow`
2024-07-01 09:44:55 +02:00
braks e435485b77 feat(core): make useKeyPress public and export it 2024-07-01 09:44:55 +02:00
braks ea75f8aac0 refactor(core): allow passing target to useKeyPress 2024-07-01 09:44:55 +02:00
Braks e2ce2053e4 fix(core): correct id access in useVueFlow (#1483)
* fix(core): correct id access in `useVueFlow`

* chore(changeset): add
2024-06-18 12:49:20 +02:00
Braks 4fe1a7b541 refactor(core): add overloads to useVueFlow (#1481)
* refactor(core): add overloads to `useVueFlow`

* chore(changeset): add

* chore(core): cleanup
2024-06-18 12:29:29 +02:00
Braks cff55c8ebf refactor(core): use empty arr when updating all internals (#1476)
* refactor(core): use empty arr when updating all internals

* chore(changeset): add
2024-06-18 12:29:29 +02:00
Braks 850f54aebd chore(core): cleanup unused event arg (#1475)
chore(core): cleanup unused `event` arg
2024-06-13 00:04:51 +02:00
Braks d658c1d357 refactor(core): replace arr reduce methods (#1467)
* refactor(core): replace arr reduce methods

* chore(core): cleanup
2024-06-13 00:04:51 +02:00
Braks 70b39cc78e refactor(core): deprecate useVueFlow options arg (#1465)
refactor(core): deprecate vueflow options
2024-06-13 00:04:51 +02:00
Braks a9ccd61eec feat(core): add useEdgesData composable (#1462)
* feat(core): add `useEdgesData` composable

* chore(changeset): add

* chore(core): add export
2024-06-13 00:04:51 +02:00
Braks 876b71dc19 refactor(core): use node/edge id as only dependency for nodes/edges list (#1447)
* refactor(core): use node id to (re-)render nodes

* refactor(core): use edge id to (re-)render nodes

* chore(changeset): add

* chore(core): cleanup

* chore(core): cast cmp as any
2024-06-06 10:45:38 +02:00
Braks 8bc1c99252 fix(core): disable drag when using multi-touch (#1448)
* fix(core): disable drag when using multi-touch

* chore(changeset): add
2024-06-06 10:45:38 +02:00
braks 1bb7a19e1b feat(core): add edge id to handle connections 2024-06-06 10:45:38 +02:00
braks 02f3ca2ba0 refactor(core): replace array fns 2024-05-31 16:09:34 +02:00
braks cd362799e4 fix(core): use separate prevConnections map 2024-05-31 16:09:34 +02:00
braks 8a8c8f50bf feat(core): add missing styles warning 2024-05-28 19:18:23 +02:00
braks 96b78ce19d fix(core): prevent auto pan if set to false 2024-05-15 09:00:24 +02:00
braks 84969ab451 fix(core): prevent delete action if inside input field 2024-04-29 20:56:09 +02:00
braks b0f1bf0b85 fix(core): add options to useKeyPress 2024-04-29 20:56:09 +02:00
braks 0a9e950077 refactor(core): move storage to separate file 2024-03-24 13:31:22 +01:00