npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@apitomy/flow-ui

v3.0.3

Published

Reusable React component for visual workflow editing and instance viewing

Readme

Apitomy Flow UI

A reusable React component library for visual workflow editing and instance viewing. Built with React Flow and PatternFly 6.

This README describes this branch's source; pending C1–C14 changes are not a release announcement. See current contracts for delivery and migration guidance.

Features

  • WorkflowEditor -- full visual editor with drag-and-drop node palette, property inspector, conditional edge editing, undo/redo, right-click context menu, and real-time validation.
  • WorkflowViewer -- read-only instance viewer showing execution trace with visited/current/ unvisited node styling, status-aware current-node highlighting (with an animated ring), animated edges, and a host-augmentable node right-click menu (nodeContextMenuItems).
  • WorkflowDiffViewer -- read-only, ID-based definition comparison with semantic/cosmetic changes.
  • Simulation -- routing and mock completion using a documented browser subset of Jakarta EL.
  • Six node types -- Start, End, Action, Human Task, Receive Event, and Wait.
  • Conditional edges -- configure EL condition expressions, priority, default-edge flag, and labels.
  • Auto-layout -- automatic dagre-based node layout on load, plus a "Tidy up" button in the editor.
  • Validation -- nested shape preflight, structural integrity, connectivity, conditions, semantics, and parallel topology. See the validation sources and contract.
  • EditorSpi -- host extension interface for supplying action-type descriptors (with typed inputs/outputs) and/or a custom validate function whose problems merge with the built-in ones.
  • Theming -- light and dark mode via CSS custom properties.

Installation

npm install @apitomy/flow-ui

Peer Dependencies

  • react ^19.0.0
  • react-dom ^19.0.0
  • @xyflow/react ^12.0.0
  • @patternfly/react-core ^6.0.0
  • @patternfly/react-icons ^6.0.0
  • @patternfly/patternfly ^6.0.0

Usage

import { WorkflowEditor } from "@apitomy/flow-ui";
import "@patternfly/patternfly/patternfly.css";
import "@xyflow/react/dist/style.css";
import "@apitomy/flow-ui/style.css";

function App() {
    return (
        <WorkflowEditor
            workflow={myWorkflow}
            onChange={(updated) => setWorkflow(updated)}
        />
    );
}

The example assumes host-owned myWorkflow and setWorkflow; give the container an explicit height. The graph is initialized at mount, with live host metadata updates. To replace the entire document, change the component's React key. onChange publishes committed edits, not selection or measurement changes. See Visual Editor for history, layout, and synchronization details.

Verification and examples

License

Apache License 2.0