feature: sync code with internal repository#3
Merged
Areukiddin merged 4 commits intomainfrom May 15, 2025
Merged
Conversation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Added smooth scroll logic.
Migrated to React 18.
Navigation updated:
Pan around: Left click + Drag
Multiple selection: Shift + Rectangle select, Shift + Click
Cursor changed to pointer when hovering over a node.
Cursor changed to crosshair when using the selection rectangle.
Fixed package entry point and main.
Output positions are now calculated dynamically. Previously, nodes were translated by Y to 0 (translate(100%)), and only input was dynamic while outputs were fixed.
Outputs are no longer nested in nodes. Now passed separately with onOutputsChange.
File structure and naming standardized.
Deprecated use of action from nanostores.
Removed redundant stopPropagation from mouseDown in ArrowDisconnect to fix useCustomClickOutside.
Removed resetEvent from mouseDown in ArrowConnector to fix useCustomClickOutside.
Removed redundant return in mouseEnter and mouseLeave on nodes.
Fixed isBottomOver calculation in SelectionZone.
Fixed isNodeInSelectionZone calculation.
Added step argument to zoomIn and zoomOut in ScaleComponent.
Fixed issue where changing the TTS message caused the node to jump and misalign the connector. Connectors now follow node resizing correctly.
Fixed bug where all outputs and connections with the same ID were shown as active on hover without checking nodeId.
Fixed error: dragItem.type does not exist.
Multiple bug fixes and improvements:
Keeping a connection selected while starting a new one from the same output now preserves selection state.
Changing node z-index on selection fixes layering issues with active connections.
Deleted connections via hotkey also remove their output.
Bezier curve drawing completely reworked for smoother transitions and consistent gaps (24px) between output/input.
Background updated to meet new requirements.
Arrow icon spacing improved (not flush with node).
New isSelected state added for outputs.
Improved layering for selected and hovered connections (opacity 0.3).
Added ArrowDisconnector for output position (similar to input).
Holding spacebar enables canvas drag with grab cursor (like Mira).
Cursor handling improved via useCursor hook.
Added isNodeHovered prop to OutputComponent and NodeComponent.
Added nodeId to OutputComponent.
Major refactor:
SelectedConnectionAtom and HoveredConnectionAtom now store { nodeId: null, connectionId: null } instead of coordinates, reducing redundant logic.
ConnectionTrack moved to a separate component.
inputPosition and output now use strict origin points: top-left for input, bottom-left for output, independent of node content.
Removed ref from InputConnection.
Node, selected, and hovered connection deletion now handled in useHotKeys.
Added getNodeRelativePosition helper for consistent positioning logic.
Added onSelectionZoneChanged prop to track selection zone changes.
Fixed selected state not updating after dragging if the node wasn't selected initially.
Changed controls for nodes and canvas.
Node z-index now increases on MouseDown, bringing the last selected node to the front.
Added ability to delete selected connections using the Delete key.
Added ability to delete selected connections using the Backspace key.