All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
18.6.0 (2026-04-26)
- Smart Auto-Layout on Resize — the new
withReflowOnResizeplugin watches every node's size and shifts surrounding nodes the moment one grows or shrinks, so dynamic layouts stay clean without a manual relayout call. The behaviour is configurable via five orthogonal knobs (mode, scope, axis, delta source, collision) plus aFReflowControllerfor runtime overrides and anfReflowIgnoredirective for nodes that must stay pinned. - Layer Ordering — the order of the three built-in canvas layers (groups, connections, nodes) is now configurable. Pass
[fLayers]per canvas, or set the app-wide default throughwithFCanvas({ layers })insideprovideFFlow(...). The default stays groups → connections → nodes, so existing apps are unaffected.
- reflow: add the
withReflowOnResizeprovider feature plusFReflowController,fReflowIgnoredirective, and a planner that combines mode (CENTER_OF_MASS / X_RANGE / DOWNSTREAM_CONNECTIONS), scope (GLOBAL / GROUP / CONNECTED_SUBGRAPH), axis (BOTH / VERTICAL / HORIZONTAL), delta source (EDGE_BASED / CENTER_BASED), and collision (STOP / CHAIN_PUSH) into one declarative reflow plan. - canvas: add the
EFCanvasLayerenum, the[fLayers]input on<f-canvas>, and thewithFCanvas({ layers })provider feature for app-wide layer ordering. Per-canvas input takes precedence over the provider value; missing layers fall back to their default position; unknown values and duplicates are silently dropped. - examples: add seven dedicated
/examples/reflow-on-resizesub-demos covering the basic case and each knob (mode, scope, collision, delta source, axis, runtime controller). - examples: add
/examples/canvas-layerswith three buttons that promote groups, connections, or nodes to the top while preserving the relative order of the other two layers.
- Add
examples/reflow-on-resizepage with live demos for each knob and a runtime controller walkthrough. - Add
examples/canvas-layerspage describing both[fLayers]andwithFCanvas({ layers })and the precedence between them.
- virtualization: removed the
fVirtualForTrackByinput on*fVirtualFor. The input was declared but never wired into the directive's rendering path, so providing atrackByfunction had no effect. Templates that reference it must drop the expression (e.g.*fVirtualFor="let item of items(); trackBy trackFn;"→*fVirtualFor="let item of items();"). No runtime behavior changes — identity reconciliation was never actually performed.
18.5.0 (2026-04-14)
- Workspace reorganized around Nx apps/libs - the repository now uses independent
apps/*andlibs/*projects instead of the older flat workspace layout, which makes example apps, portal builds, and package publishing easier to reason about. - Layout engine support expanded - Foblex Flow now ships a shared layout-engine abstraction, published Dagre and ELK adapters, and dedicated manual plus auto-layout examples for both engines.
- Render lifecycle became explicit -
fNodesRenderedandfFullRenderedare now emitted separately, with the internal flow render lifecycle extracted into dedicated handlers instead of staying embedded inFFlowComponent. - Reference apps were rebuilt as standalone Angular apps - Schema Designer, UML Diagram, Tournament Bracket, and Call Center Flow now live under
apps/example-apps/*, have dedicated portal pages, and can be built or served independently. - Cypress coverage was extended around editor interactions - regression tests now cover palette node creation, assign-node-on-drop flows, connector side behavior, resize-linked redraws, and drag-to-group scenarios.
- Connection worker internals were decomposed and hardened - the worker-backed redraw path was split into smaller pipeline pieces and kept integrated inside the broader connection redraw system.
- Add the core layout-engine integration surface plus
provideFLayout(...). - Publish
@foblex/flow-dagre-layoutand@foblex/flow-elk-layout. - Add Dagre and ELK examples in both direct-layout and auto-layout variants.
- Add
fNodesRenderedandfFullRenderedoutputs for finer-grained flow render lifecycle tracking. - Ship built-in connection markers and keep connection redraw fully inside the main
f-flowpackage. - Add standalone reference apps for schema design, UML architecture diagrams, tournament brackets, and call-center IVR routing.
- Split the old examples workspace into independently buildable Nx projects, including standalone example apps and portal-driven embeds.
- Automate portal prerender route generation, sitemap generation, and embedded-page verification in the portal toolchain.
- Standardize portal reference-app previews, markdown example pages, and per-app
README.mdfiles for the standalone examples. - Expand end-to-end regression coverage for interaction-heavy example scenarios.
- Decompose the connection-worker redraw flow into smaller worker/runtime/pipeline units without removing the worker-backed strategy itself.
- Correct group bounds calculations and flow surface sizing so grouped layouts and viewport sizing stay in sync.
- Stop exporting testing helpers from the published primary package so runtime bundles no longer pull
TestBed/@angular/core/testing, which restores compatibility with Native Federation and similar microfrontend setups.
- Add and refresh standalone example documentation for Schema Designer, UML Diagram, Tournament Bracket, and Call Center Flow.
- Update the main README, examples overview, and portal metadata to reflect layout-engine demos and the expanded reference-app lineup.
18.4.0 (2026-04-02)
- Home page hero flow redesigned - the landing page now uses a richer, modular flow showcase with dedicated hero nodes, connectors, and refreshed showcase copy.
- Default SCSS theme shipped for Foblex Flow - the package now exposes a ready-to-use theme entrypoint, domain mixins, and public
--ff-*tokens for nodes, groups, connectors, connections, plugins, and external items. - Auto-pan shipped as an opt-in flow plugin -
f-auto-pannow extends supported drag sessions with edge-based viewport panning and a dedicated example/docs page. - Examples portal controls refreshed - the examples UI now uses reusable toolbar/overlay primitives plus dedicated native input/select components instead of one-off Material form controls.
- Rounded connector geometry hardened - worker payload generation, rotated intersection math, and corner-radius normalization were updated so rounded connectors behave more predictably across drag, resize, and redraw flows.
- Trackpad pinch-to-zoom smoothed - wheel-based gesture zoom now follows trackpad deltas more closely instead of snapping to the mouse-wheel minimum step.
- Installation docs aligned across Angular, Nx, and manual setup - install sections now describe
ng add,nx g @foblex/flow:add, and explicit companion-package installation consistently across README, guides, and blog tutorials. - Undeclared CDK runtime dependency removed -
fConnectionContentnow uses a local number coercion helper instead of importing@angular/cdk/coercion.
- hero-flow: replace the previous home page background implementation with a dedicated hero flow system composed from reusable node, wrapper, and connector components.
- theme: add a shipped
@foblex/flow/styles/defaultentrypoint, public SCSS mixins, token layers, and packaged style assets for selective or full-theme usage. - auto-pan: add the
f-auto-panplugin, drag-session runtime support, unit coverage, Cypress coverage, and a dedicated example for edge-triggered viewport panning during drag. - examples-portal: add reusable example toolbar/overlay/input/select primitives and move shared example control styling onto the new theme-aligned defaults.
- Migrate examples and guides off the old shared
_flow-common.scsshelper toward the new public theme API and token surface. - Update
ng addto append the default theme stylesheet automatically for application projects, and align package metadata with the documented setup path. - Replace ad-hoc Material select/form-field usage in affected examples with the new portal UI controls and shared styling tokens.
- Refresh showcase taxonomy and example chrome so portal pages present a cleaner, more consistent visual system.
- Remove stale repository/docs leftovers after retiring the old changelog bundle tooling and the deprecated multiple-flows example.
- connection-worker: fall back from worker-based floating geometry for rounded connectors instead of producing incorrect intersections for unsupported shapes.
- connections: calculate floating intersections against rotated rounded connectors during redraw, create, reassign, drag, and resize flows.
- connectors: normalize oversized corner radii before connector geometry is used for rounded intersection calculations.
- connection-content: remove the runtime dependency on
@angular/cdk/coercionby replacing it with a local number coercion helper. - zoom: smooth wheel-based pinch-to-zoom on trackpads by separating gesture-wheel normalization from mouse-wheel stepping.
- Normalize install docs across README, guides, and blog tutorials so Angular, Nx, and manual installation paths use the same dependency story.
- Sync install-related package metadata and schematic companion dependency versions with the documented setup commands.
- Expand styling documentation with dedicated guides for mixins/scoping, token overrides, and practical styling recipes, and add the new pages to docs navigation, prerender routes, and sitemap.
- Add a dedicated
v18.4.0release article, documentf-auto-panin the guides and examples, and remove the obsolete markdown page for the deleted multiple-flows demo.
Use .f-canvas-dragging instead of .canvas-dragging in custom styles and examples.
The legacy .canvas-dragging class is still emitted for compatibility in 18.4.0, but it is now deprecated and should be treated as transitional only.
Update CSS selectors:
/* Old */
f-canvas.canvas-dragging {
}
/* New */
f-canvas.f-canvas-dragging {
}18.3.0 (2026-03-17)
- Projected connection gradients - gradient strokes are now opt-in through projected
f-connection-gradientconfig instead of always living on the connection component itself. - Connection redraw work reduced - unchanged connections now skip redundant marker generation and repeated line re-initialization when their render signature stays the same.
- Connection worker production loading fixed - production bundles now start the connection worker from a blob URL instead of requesting
worker/f-connection.worker.ts, avoiding MIME type failures on deployed apps. - Docs, examples, and roadmap updated - the custom connection example, connection guides, and roadmap docs now reflect the projected gradient model and the recent release history.
- Gradient DOM identifiers now stay stable per connection instance, even when a connection is reassigned to different source or target connectors.
- Gradient rendering now avoids unnecessary DOM writes for unchanged coordinates and colors.
- Connection marker rendering now skips redundant regeneration when the effective marker inputs have not changed.
- Connection redraw caching now short-circuits repeated
setLine()/initialize()work for unchanged routes and waypoint state.
- connection-worker: production builds now inline the worker runtime via
BlobandURL.createObjectURL, which removes requests forworker/f-connection.worker.tsand the related MIME type error.
- Updated
f-connection,f-connection-for-create, andf-snap-connectionguides to document projected gradient usage. - Updated the connection gradients example page to explain when and why projected gradients should be used.
- Rebuilt the roadmap documentation around release history and added a dedicated roadmap markdown page to the docs navigation.
- Added a dedicated
v18.3.0release article covering projected gradients, redraw caching, and production worker hardening.
Gradient colors are no longer configured directly on:
f-connectionf-connection-for-createf-snap-connection
Use projected f-connection-gradient instead.
Move gradient colors from the connection inputs to the projected gradient config:
<!-- Old -->
<f-connection
fOutputId="out-1"
fInputId="in-1"
fStartColor="#4f46e5"
fEndColor="#06b6d4"
></f-connection>
<!-- New -->
<f-connection fOutputId="out-1" fInputId="in-1">
<f-connection-gradient
fStartColor="#4f46e5"
fEndColor="#06b6d4"
></f-connection-gradient>
</f-connection>18.2.0 (2026-03-09)
- Zoom during drag-and-drop - wheel zoom now stays available during active drag interactions instead of being blocked for the whole drag session (77673e3).
- Connection rendering pipeline refresh - added optional flow caching, worker-assisted connection calculation, and chunked redraws for large diagrams (77673e3).
- Drag-and-drop interactions reworked - refactored external item, minimap, resize, rotate, and related connection flows (2019ea4, 77673e3).
- Public API growth - exported
f-cache,f-virtual, andf-connection-worker(77673e3). - Examples and docs refresh - standardized example structure, rebuilt pro examples, and expanded Cypress coverage (c58fd1f, f231423, 454a323).
- flow/cache: add
fCacheinput onf-flowand a new publicf-cachemodule with cache providers, registration, invalidation, and cached rect helpers (77673e3). - connection-worker: add worker-backed connection calculation and expose
f-connection-worker(77673e3). - virtualization: add
fVirtualForfor progressive rendering of large projected node lists (77673e3). - minimap: add
fNodeRenderLimitto skip expensive minimap rendering for very large scenes (77673e3). - resize-node: keep dependent connections in sync while resizing nodes, including soft-parent scenarios (77673e3).
- drag-and-drop: improve external item handling, pointer normalization, and create-node/drop-to-group integration (77673e3).
- zoom/drag-and-drop: allow wheel zoom during active drag sessions by rebasing drag context for node drag, external item drag, resize, rotate, connection create/reassign, waypoint drag, and container assignment (77673e3).
- Separated node and connection change streams, added debounced layer sorting, and chunked connection redraws (77673e3).
- Improved zoom behavior during supported drag-and-drop flows, with direct support for canvas drag and selection-area interactions and drag-context rebasing for node, external-item, resize, rotate, connection, waypoint, and container-assignment flows (77673e3).
- Improved connection context resolution and cache reuse across redraws, node drag, and resize flows (77673e3).
- Reworked minimap, external item, resize, and rotate handler architecture for more consistent internal interaction flow (2019ea4).
- Standardized example authoring, lazy imports, markdown embeds, and example style checks (f231423).
- Rebuilt the UML architecture demo with signal-based Angular state and modularized the tournament bracket pro example (454a323).
- Expanded Cypress regression coverage for interactions and examples (c58fd1f).
- flow: correct node padding tuple order used for child bounding calculations (1ef5bb4).
- zoom: use the dominant wheel axis so Shift + wheel / horizontal wheel zoom behaves correctly (77673e3).
- selection: simplify selectable rectangle calculations and remove stale scaling dependencies (77673e3).
- minimap: batch SVG drawing and clear the canvas when rendering is intentionally skipped (77673e3).
- Updated multiple guides and example pages to match the new example structure and API naming (f231423).
- Refreshed stress test example descriptions and example metadata to document cache, virtualization, connection toggles, routing modes, and marker-heavy rendering scenarios (f231423).
Examples had to update their imports from @foblex/flow:
FExternalItemDirective->FExternalItemFExternalItemPlaceholderDirective->FExternalItemPlaceholderFExternalItemPreviewDirective->FExternalItemPreview
Update imports:
import {
FExternalItemDirective,
FExternalItemPlaceholderDirective,
FExternalItemPreviewDirective,
} from '@foblex/flow';to:
import {
FExternalItem,
FExternalItemPlaceholder,
FExternalItemPreview,
} from '@foblex/flow';18.1.0 (2026-02-16)
- Magnetic alignment extensions - added
f-magnetic-linesandf-magnetic-rectsplugins with dedicated examples. - Connection interactions reworked - new create/reassign connection drag flows and updated waypoint drag handlers.
- Draggable infrastructure refresh - unified handler architecture and improved pointer-based selection behavior.
- Public API growth - exported magnetic plugins and testing utilities from
public-api.
- magnetic-lines: add magnetic line management features (8a48f35)
- magnetic-rects: implement magnetic rects functionality (7d37007)
- drag-handler: add
kindproperty support in handlers (1a642fd) - examples: add AI low-code platform example (4ad841b)
- Refactored storage internals to registries (
FConnectorRegistry, connection/node/marker registries) for more consistent component lifecycle handling (6b40453, be42f88, 13a2b32, 05d8bf6, 8988370) - Reworked selection and selection-area flow to improve pointer handling and interaction predictability (ba716d2, 4158d34)
- Performed broad naming and structure cleanup for draggable/connection modules to improve maintainability (3af7539, 3253671, 9ecf603, 989ba17, cb5b883, dd58542)
- Extended public API exports with
f-magnetic-lines,f-magnetic-rects, andtestingmodules (08a864c)
- Updated multiple guides/components docs for consistency and removed outdated sections (99af791, 83d8882)
- Updated draggable-flow demo docs/layout for better responsiveness and clearer interaction examples (1115ecf)`
18.0.0 (2026-01-26)
- Connection Waypoints (new feature) — interactive waypoint editing for connections with candidate points and drag-and-drop.
- Pinch-to-zoom (new feature) — smooth multi-touch zoom for trackpads and touch devices.
- Control Flow + Content Projection compatibility — improved support for
@if/@forrendering by extending projection slots for nodes/connections. - Custom Backgrounds — richer SVG pattern support plus a new example for advanced backgrounds.
- zoom: add pinch-to-zoom support for touch/trackpad gestures (5dfeeb5)
- connection: introduce waypoints with candidates + drag-to-add / drag-to-move interactions and demo example (19772df, 229d6e3)
- connection: add anchors utility and refactor connection builders + candidate generation (3276baf, b18109a)
- canvas: improve content projection for Angular Control Flow usage (
@if/@for) by supporting grouped slots ([fNodes],[fConnections]) (b18109a) - background: support custom/complex SVG patterns + add a dedicated example (29e28c8)
- showcase: add AI Low Code Platform entry and links (6013ee7, dd84ae8)
- Refactored multiple connection/interaction modules to improve readability, maintainability and internal consistency.
- Candidate/waypoint handling is now more predictable across all connection types.
- fix url to custom-connection-type component in guide (a6421ac)
If you implemented a custom connection type / builder, the response interface changed:
connectionCenterwas removedpointsis now required (was optional)candidateswas added
✅ Note: you don’t have to calculate or return points or candidates yourself.
If you don’t support them, return empty arrays.
export interface IFConnectionBuilderResponse {
path: string;
penultimatePoint: IPoint;
secondPoint: IPoint;
points: IPoint[]; // can be []
candidates: IPoint[]; // can be []
}Deprecated connection inputs were removed from FConnectionComponent:
fText- removed (use FConnectionContent instead)fTextStartOffset- removed (use FConnectionContent instead)
Removed legacy directive:
- [fConnectionCenter] - removed (use FConnectionContent instead)
Removed deprecated zoom aliases from FCanvasComponent:
- setZoom(...) - removed → use setScale(...)
- resetZoom() - removed → use resetScale()
17.9.5 (2025-10-27)
-
Connection Connectable Side
-
Connection Rendering Improvements
- Introduced
AdaptiveCurveBuilderand updated connection type examples. (0f1448a)
- Introduced
-
Performance Enhancements
- Improved performance for large-scale node dragging and stress testing scenarios. (0fc9da4)
-
Examples / Documentation
- Enhanced 404 fallback page routing and rendering behavior. (72cfdc5)
-
Rendering Stability
- Optimized connection rendering and recalculation logic for smoother updates.
- Fixed Safari macOS issue where connection paths could render partially clipped.
- Improved zoom performance by reducing unnecessary layout thrashing. (e6a7321)
-
Canvas Drag Handling
-
Node Positioning
- Enforced absolute layout positioning for nodes and groups. (b03a611)
-
Content Selection Behavior
- Fixed unintended selection inside connections. (633ff5f)
-
Updated supported Angular version from 12 to 15 in documentation. (467c8e4)
-
Improved
FNodeInputDirectivedocumentation. (8ef88e1, d72a91f)
17.8.0 (2025-09-15)
-
Connection Content - Example
- Added
fConnectionContentdirective for placing custom content (labels, icons, buttons) along connections with position, offset, and alignment options. (a1cda4a)
- Added
-
Connection Validation - Example
- Extended connection validation rules:
- Previously, connections could only be restricted by input ID (
fInputId). - Now, restrictions can also be applied by input category (
fInputCategory— a free string label for grouping). - On the output side, developers can define
fCanBeConnectedInputs, listing allowed IDs and/or categories. - During drag, the system checks both; only matching inputs are valid targets.
- Visual feedback:
.f-connections-draggingis applied to the container.- Valid inputs receive
.f-connector-connectable. - Invalid inputs remain unstyled (example styles dim them).
- This gives immediate visual feedback and makes rules more flexible for real-world editors.
(704333f, 1977850)
- Previously, connections could only be restricted by input ID (
- Extended connection validation rules:
-
UX & Examples
-
Reactivity & Refactors
- Marked
fConnectionCenterdirective andfTextproperty as deprecated. UsefConnectionContentinstead. (8532fba)
- Updated Angular dependencies to latest patch versions. (f57f99d)
- Updated edit link patterns in documentation and examples configuration. (d08f54d)
- Fixed image URLs and demo link in
showcase.tsfor local paths. (3b428b0) - Added Material Design styles for form fields and select components in test examples. (0e176b7)
Replace fText property:
<f-connection ... fText="Label"></f-connection>with:
<f-connection ...>
<div fConnectionContent [position]="0.5">Label</div>
</f-connection>Replace `fConnectionCenter directive:
<f-connection ...>
<div fConnectionCenter>...</div>
</f-connection>with:
<f-connection ...>
<div fConnectionContent [position]="0.5" align="along">...</div>
</f-connection>17.7.0 (2025-08-24)
- Grouping Improvements
- Refactored the Grouping Example and the Drag-to-Group Example.
- Added fAutoSizeToFitChildren — automatically resizes parent nodes and groups to fit the combined size of their children.
- Added fAutoExpandOnChildHit — expands parent nodes and groups in real time when child nodes are moved inside and do not fit.
- Improved drag-to-group behavior: dropping into a node or group that is already part of another parent now correctly validates the target (previously it always defaulted to its existing parent).
- New Copy/Paste Example
- Copy-Paste Example demonstrates how to implement cut, copy, and paste functionality in Foblex Flow.
- Shows how to duplicate nodes (with their connections), remove selected elements, and insert them back while keeping IDs and connections consistent.
- New Undo/Redo Example
- Undo-Redo V2 Example demonstrates how to add undo and redo functionality to a flow editor.
- Built on top of @foblex/mutator, a lightweight state management utility that tracks state changes, snapshots, and history.
- Provides a full time-travel editing experience, allowing users to revert and reapply actions for a smoother workflow.
- Grouping internals were refactored and clarified, including renaming of execution classes and better separation of responsibilities.
- Updated documentation to reflect new features and API changes:
- resolve drag-and-drop issues on macOS by improving event handling (#187) (142745c)
- smooth wheel zoom (#198) (e302e75)
- CSS Class Rename:
- .f-parent-for-drop → .f-grouping-over-boundary
- New CSS Class:
- .f-grouping-drop-active — applied to nodes or groups that are valid drop targets for grouping.
If you are using custom styles based on the old .f-parent-for-drop selector, you will need to update your CSS.
- Groups now support auto-resize and auto-expand on child moves.
- Drag-to-group behavior is more robust.
- Breaking change: CSS class .f-parent-for-drop renamed.
- Documentation updated.
- Two new examples: Copy/Paste and Undo/Redo V2.
17.6.0 (2025-07-23)
-
Improved Connection Reassignment
-
Signal-based Refactors for Reactivity
-
Minimap Improvements
- Restructured the minimap component.
- Enhanced input handling and upgraded it to support new Angular features.
(c7a3be9)
-
Debounced
fCanvasChangeEvent- Added optional debounce to the
fCanvasChangeevent inFCanvasComponentto reduce event noise during rapid updates. - Configurable via debounceTime input
- Added optional debounce to the
-
New
fDragBlockerDirective- Introduced fDragBlocker directive to block drag-and-drop interactions within specific areas of the canvas.
- Useful for excluding certain zones (like panels or overlays) from initiating node movement or connection creation.
- Drag-and-Drop on macOS
-
Updated
FReassignConnectionEventstructure- The event model was redesigned to support both source and target reassignment with more detailed context.
Before:
new FReassignConnectionEvent( fConnectionId: string, fOutputId: string, oldFInputId: string, newFInputId: string | undefined, fDropPosition: IPoint )
After:
new FReassignConnectionEvent( connectionId: string, isSourceReassign: boolean, isTargetReassign: boolean, oldSourceId: string, newSourceId: string | undefined, oldTargetId: string, newTargetId: string | undefined, dropPoint: IPoint )
This change improves the accuracy of reassignment tracking and enables more flexible behavior in advanced flow editors.
17.5.0 (2025-05-11)
- Added Angular schematics support for
ng-addandng-updatecommands. (ea3e8ec) - Added
fMinimapClassinput for custom minimap node styling. (7c8e13c) - Added membership page components and enhanced flow connection properties. (6170b46)
- Enhanced resize handle functionality with minimum size support and improved styling. (29fbcd4)
- Implemented node rotation functionality. (b58f982)
- Adjusted node positioning calculations to account for transformation scale. (0295846)
- Refactored background component executions to use readonly properties and improve dependency injection. (a18dddd)
- Refactored canvas components to use readonly properties and introduce mediatorEffect for better state management. (5c3512b)
- Updated
@foblex/m-renderto version 2.5.9 and incremented package version to 17.4.4. (c51a174) - Fixed drag handler to correctly append and remove elements; added
pointer-eventsto connection styles. (dcc5de3) - Fixed
f-backgroundcomponent to useContentChilddecorator and improve pattern handling. (9fb09ba) - Updated node input/output IDs to include index for better connection management. (95c7691)
- Added Rotate Handle example. (1f51f4f)
17.4.0 (2025-02-10)
- Added CustomTriggers for fDraggable, fZoom to allow for custom drag and zoom triggers (34c87b8)
- Enhance f-flow components with loading handlers and improved styling (abd779c)
- Added fDragStarted with data and fDragEnded events (4ef0e17)
- Added Connection Validation to prevent connections between incompatible connectors (4ef0e17)
- Added Grid System for fDraggable to allow for movement in grid increments (23f39c5)
- Added fEmitOnNodeIntersect event to know when a node is intersected by connection (23f39c5)
- Refactor styles and components for f-flow integration (05ada49)
- Added Top, Left, Bottom, Right Resize Handles (05ada49)
- Added StressTestWithConnections example (7e7e4f5)
- Added ConnectabilityCheck examples (fac0ff1)
- Added AssignNodeToConnection example (377b610)
- Added ConnectionText and CustomConnectionType examples (eb248c0)
- Added ConnectionCenter examples (9b7d1ed)
- Added AddNodeToPalette example (d1d2ab9)
- Added GridSystem example (ec4cef8)
- Added Undo/Redo example (82c57cd)
- Added DragStart/EndEvents example (87daaaa)
- Added CustomEventTriggers example (015865d)
- Updated ResizeHandle example (6735cf5)
- Updated AutoSnap example (fcfce91)
17.0.1 (2024-12-29)
- IOS issue with recalculate after animation (369c54d)
- Added AutoSnap example (7e7e4f5)
- Added Background example (6735cf5)
- Added ConnectionBehaviours examples (fac0ff1)
- Added ConnectionMarkers example (377b610)
- Added ConnectionType and CustomConnectionType examples (eb248c0)
- Added Connector examples (9b7d1ed)
- Added CustomConnections example (fcfce91)
- Added DragToGroup example (d1d2ab9)
- Added HelpInPositioning example (ec4cef8)
- Added Minimap example (82c57cd)
- Added NodeSelection example (87daaaa)
- Added RemoveOnDrop and CreateOnDrop examples (015865d)
- Added SelectionArea example (71bf4fc)
- Added TournamentBracket example (a934e8c)
- Added UmlDiagram example (1f48560)
- Added Zoom example (044452f)
- Added E2E tests: DragHandle, DragToConnect, DragToReassign (3513d63)
- Fixed: RemoveOnDrop and DragToReassign tests (a1a2a79)
16.0.0 (2024-09-24)
- Added centerNodeOrGroup functionality #44 (131ae19)
- Added getFlowState functionality #46 (c5841fd)
- Added Server Side Rendering (SSR) support (ba73083)
- Added snap connection to create functionality (82b3872)
- Added snap connection to reassign functionality (37972df)
- Added SSR support to m-render (a3d6595)
- Changed imports from @foblex/core to @foblex/mediator, @foblex/platform, @foblex/2d (30a60da)
- Changed imports from @foblex/core to @foblex/utils, @foblex/drag-toolkit (26d9631)
- Cleanup after delete @foblex/core (9aa5717)
- Updated f-canvas user api (978d764)
- Fixed After adding a Node, all the connections disappear #51 (c47621d)
- Fixed Cannot access 'AddPatternToBackgroundExecution' before initialization #53 (ecfed74)
- Fixed create connection target incorrect position with scale (ec323c5)
- Fixed doesn't work for angular 12 #48 (70064b0)
- Fixed tests after removing @foblex/core (60a4e92)
- Fixed undefined snap connection (739f414)
- Added FindClosestInputUsingSnapThresholdExecution tests (bcf1bda)
- Added center node or group functionality (01584c1)
- Added custom nodes example (6f2bd7b)
- Added drag to connect and drag to reassign examples (afdd469)
- Added drag-handle example (8fb4399)
- Added grouping example (766e456)
- Added resize handle example (4f23af5)
- Added snap-connection documentation and example (dd4895f)
12.6.0 (2024-09-07)
- Added dagre layout example (737dd1f)
- Added db management flow example (4a605a3)
- Added elkjs layout example (9695e08)
- Added examples common styles (5e96e98)
- Added f-group functionality (8a3c8ce)
- Added fDragHandle documentation (a655fdc)
- Modified layers sorting functionality after adding f-group (3c60249)
- Moved external item drag and drop functionality to component directory (8b9dbb1)
- Moved selection area drag and drop functionality to component directory (121a63e)
- Updated to m-render v1.2.2 (bdaa267)
- Fixed dagre layout trackby unique key (102a771)
- Foblex Core is unable to slide the schema #37 (55a4070)
- Prevent selection when drag fExternalItem (036e192)
- Added custom connection type example (b574306)
- Added db-management-flow dark theme (1f8fe45)
- Added f-group to db-management example (65902f5)
- Added group example (dfd428b)
- Added node with connectors example (fb3bcb7)
- Updated Output and Input Documentation (d942f88)
- Added test to change items layers functionality (01f27dd)
12.5.0 (2024-08-11)
- Add various site icons and upgrade library to Zoneless (e561e69)
- Added minimap functionality (f5eece6)
- Added Zoneless support (a8c5812)
- Update to m-render v1.2.1 (8067764)
- Added minimap documentation (ccbdb99)
- Added minimap examples (5646066)
- Remove old changelogs and switch to standard-version (ff5b9e5)
- Incorrect canvas position when using canvas.fitToScreen (#28)
- Items outside the flow are selected when dragging fExternalItem (#27)
- Fixed incorrect rendering of connection lines in complex layouts.
- Describe documentation on how to add a custom background (#9)
- Added support for multi-layered canvas backgrounds.
- Resolved issues with node animations causing performance drops.
- Fixed bug where context menu would not appear in certain conditions.
- Move selected items without pressing ctrl (#10)
- Fixed issue with node snapping to grid not working properly.
- Resolved performance issues when handling large numbers of nodes.
- Create connection with undefined fInput when user drops connection on the canvas.
- Added option to customize node colors dynamically.
- Corrected display problems with mat-tooltips on smaller screens.
- Added new layout options for better node organization.
- Custom connection types (#6)
- Introduced new node resizing handles for better UX.
- Fixed issue with nodes overlapping when auto-arrange is used.
- Improved stability of the canvas rendering engine.
- Added support for custom node shapes.
- Resolved issues with drag-and-drop functionality in nested containers.
- Fixed alignment issues with text labels on nodes.
- fOutlet directive to allow multiple connections.
- Corrected alignment issues with the connection labels.
- fitToParent mixin toCenter parameter in scaled context.
- Fixed bugs related to zooming and panning in the canvas.
- Change id attributes for connectors to data attributes.
- Improved error handling for connection failures.
- Change id attributes to fId.
- Resolved issues with duplicate node IDs causing conflicts.
- Segment connection type.
- Bezier connection type.
- FConnectionCenterComponent.
- FConnectionCenterDirective.
- Fixed issues with the selection area being inaccurate.
- Corrected mat-tooltips not displaying for all node types.
- Added batch node editing capabilities.
- Introduced dark mode for the entire interface.
- Issue with the selection area not being removed after dragging.
- FNodeDirective instead of FNodeComponent.
- Fixed minor UI glitches in the node editor.
- Selection Area functionality.
- Added keyboard shortcuts for faster node manipulation.
- Single selection issue after dragging.
- Fixed inconsistencies in node alignment after dragging.
- fitToParent mixin in scaled context.
- oneToOne mixin in scaled context.
- Fixed issue with connection points not aligning correctly.
- Line Alignment component.
- Added support for snapping nodes to guidelines.
- Fixed rendering issues with high DPI screens.
- Corrected problem with nodes not saving their state properly.
- Introduced node grouping functionality.
- Added ability to lock nodes in place.
- Resolved conflicts when merging nodes with similar attributes.
- New theme options for customizing the look and feel of the canvas.
- Added real-time collaboration indicators.
- Reassign connection functionality.
- Introduced basic node editing capabilities.