Foblex Flow
Introduction
Introducing Foblex Flow
Installation and Rendering
Changelog
Roadmap
Styling
Styling Overview
Mixins and Scoping
Tokens and Overrides
Styling Recipes
Concepts
Event System
Selection System
Containers
Flow
Canvas
Nodes
Node
Drag Handle
Group
Resize Handle
Rotate Handle
Connectors
Output
Input
Outlet
Connection Rules
Connections
Connection
Create Connection
Connection Marker
Snap Connection
Connection Waypoints
Interaction
Drag and Drop
External Item
Zoom
Selection Area
Helpers
Background
Magnetic Lines
Magnetic Rects
Line Alignment (Legacy)
Minimap
Use Cases
Angular Node-Based UI Library
Angular Node Editor Library
Angular Workflow Builder
Angular Diagram Library
React Flow vs Foblex Flow
Foblex Flow

Styling Recipes

This page shows practical styling patterns built from the shipped SCSS API.

Recipe: minimal editor styling

Use this when your editor needs the standard flow shell, nodes, connectors, connections, and helper plugins:

That is the same base stack used by the default theme, except that it is connected explicitly in your stylesheet.

Recipe: editor with drag-to-group highlighting

grouping() is separate because not every editor supports drop-to-group UX.

This adds styling for the runtime classes used during drag-to-group:

  • .f-grouping-drop-active
  • .f-grouping-over-boundary

Customize them with:

  • --ff-grouping-drop-target-border-color
  • --ff-grouping-drop-target-border-style
  • --ff-grouping-drop-target-border-width
  • --ff-grouping-drop-target-border-color-active
  • --ff-grouping-drop-target-border-style-active
  • --ff-grouping-drop-target-border-width-active

Recipe: palette / external-item styling

If you use palette drag-and-drop or create nodes from external items, add:

This covers:

  • .f-external-item
  • .f-external-item-preview
  • .f-external-item-placeholder

The external-item classes are usually rendered outside f-flow, so this styling is often placed at the application level.

Recipe: custom node shell with shipped node frame

Use $selectorless: true when you want the shipped node frame on a custom host selector:

That pattern is useful when your node body is built from Angular Material, custom cards, or a more application-specific component shell.

Recipe: custom group shell

The same pattern works for groups:

Recipe: component-local editor styles in Angular

If you want an editor-specific theme inside a component stylesheet:

If you would rather avoid ::ng-deep, move the mixins to a global stylesheet or use ViewEncapsulation.None.

Recipe: connections with markers, waypoints, and visible drag handles

Use the connection layers independently when your editor needs more explicit edge affordances:

This is more explicit than connection-all() and makes it obvious that always-visible drag handles are part of the intended UX.

Edit this page on GitHub
In this article