Commit Graph
805 Commits
Author SHA1 Message Date
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
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 cfc2332370 fix(core): use all handle bounds in loose connection mode (#1665)
* fix(core): use all handle bounds with loose mode when updating edges

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 6338a9db06 fix(core,nodes,edges): allow pointer events if mouse evt listeners exist (#1618)
* fix(core,nodes): allow node pointer events if listener(s) exist

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

* fix(core,edges): allow edge pointer events if listener(s) exist

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 f4bde90302 fix(core): prevent overwriting size in node styles object (#1608)
* fix(core): prevent overwriting size in node styles object

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

* fix(core): update node styles if `updateStyles` is `true`

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

* chore(core): update pkg json links

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 eb12bdc56f fix(core): don't set user selection flags on pointer down (#1600)
* chore(core): remove deprecation of `removeSelectedElements`

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

* fix(core): don't set user selection flags on pointer down

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

* fix(core): prevent panning on drag when 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-08-30 12:45:11 +02:00
Braks 9c003d4353 feat(core): add getHandleConnections action (#1595)
* feat(core): add `getHandleConnections` action

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-30 12:45:11 +02:00
Braks 47281fd668 fix(core): inline event names (#1591)
* fix(core): inline event names

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-20 09:44:23 +02:00
Braks e90f4cca57 fix(core): only display grab cursor when panOnDrag is on left mouse button (#1586)
* fix(core): only display grab cursor when panOnDrag is on left mouse button

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 ebc604d980 fix(core): simplify event emit definitions to avoid hitting complexity limit of TS (#1585)
* fix(core): simplify event emit definitions

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 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 afa88610ed fix(core): push into changes arr instead of using index (#1569)
* fix(core): push into changes arr instead of using index

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-06 08:04:18 +02:00
Braks a8d837bf93 fix(core): only capture pointer if valid selection has started (#1565)
* fix(core): only capture pointer if valid selection has started

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-05 10:11:34 +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 763f107aad fix(core): prevent calling selectionEnd on selection click (#1545)
* fix(core): prevent calling `selectionEnd` on selection click

* chore(changeset): add
2024-07-15 19:14:01 +02:00
Braks f32983116d fix(core): handle pointer capture for selection on drag (#1543)
* fix(core): handle pointer capture for selection on drag

* chore(changeset): add
2024-07-15 19:14:01 +02:00
Braks 180109c0ca feat(core): add paneClickDistance (#1542)
* feat(core): add `paneClickDistance`

* chore(changeset): add
2024-07-15 19:14:01 +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 0a0dfe96f1 chore(core): cleanup deprecation notices (#1527)
* chore(core): cleanup `getNodes` usage from Pane

* chore(core): cleanup deprecation notices
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 d8ddc4de6e fix(core): use post flush to re-observe nodes after toggling visibility (#1517)
* fix(core): use `post` flush to re-observe nodes after toggling visibility

* chore(changeset): add

* chore(core): cleanup
2024-07-01 16:03:21 +02:00