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

slidev-addon-bpmn

v1.7.0

Published

Display BPMN 2.0 diagrams in Slidev presentations

Readme

📊 slidev-addon-bpmn

npm version license demo

Display BPMN 2.0 diagrams in your Slidev presentations. Whether you're presenting workflow designs, explaining process automation, or teaching BPMN concepts — this addon has you covered! 💡

Powered by bpmn-js from bpmn.io.

🚀 Quick Start

  1. Install the addon in your Slidev project
  2. Place your .bpmn files in the public/ folder
  3. Use the <Bpmn> component in your slides

That's it — your BPMN diagrams are ready to present!

Example Slide

Example BPMN diagram in Slidev

📦 Installation

npm install slidev-addon-bpmn

Then register the addon in your slide's frontmatter:

---
addons:
  - slidev-addon-bpmn
---

Or in your package.json:

{
  "slidev": {
    "addons": ["slidev-addon-bpmn"]
  }
}

🧩 Components

This addon provides three complementary components for different use cases:

  • <Bpmn> - Static BPMN rendering for PDFs, presentations, and documentation
  • <BpmnTokenSimulation> - Interactive token-based process simulation for live demos
  • <BpmnModeler> - Interactive BPMN modeler for live diagram editing during workshops and trainings, with optional Zeebe / Camunda 7 properties panel

🔧 Component Reference

Bpmn Component

Renders BPMN diagrams as static SVG images. Perfect for PDF exports and presentations.

<Bpmn
  bpmnFilePath="./my-process.bpmn"
  width="100%"
  height="400px"
/>

Props:

| Name | Type | Default | Description | |------|------|---------|-------------| | bpmnFilePath | string | required | Path to the .bpmn file (relative to public/) | | width | string | '100%' | Maximum width of the diagram | | height | string | 'auto' | Height of the diagram |

BpmnTokenSimulation Component

Renders interactive BPMN diagrams with token simulation capabilities. Perfect for process walkthroughs and training.

<BpmnTokenSimulation
  bpmnFilePath="./my-process.bpmn"
  width="100%"
  height="500px"
/>

Props:

| Name | Type | Default | Description | |------|------|---------|-------------| | bpmnFilePath | string | required | Path to the .bpmn file (relative to public/) | | width | string | '100%' | Width of the diagram container | | height | string | 'auto' | Height of the diagram container (defaults to 500px when 'auto') |

The token simulation provides interactive controls for stepping through process execution with animated token flow.

BpmnModeler Component

Embeds an interactive BPMN modeler for live diagram editing. Ideal for workshops, trainings, and collaborative sessions where you build diagrams step by step.

<BpmnModeler
  bpmnFilePath="./my-process.bpmn"
  width="100%"
  height="500px"
/>

Or start with a blank canvas (a single start event):

<BpmnModeler height="500px" />

Pass an engine to mount an engine-specific properties panel side-by-side with the canvas, so you can edit Zeebe taskDefinitions, Camunda 7 expressions, message names, and other technical attributes live:

<!-- Camunda 8 / Zeebe -->
<BpmnModeler bpmnFilePath="./my-process.bpmn" engine="zeebe" height="500px" />

<!-- Camunda 7 / Platform -->
<BpmnModeler bpmnFilePath="./my-process.bpmn" engine="camunda7" height="500px" />

In fullscreen mode, the panel can be hidden and shown again via the toolbar — handy when you need the full canvas width.

Props:

| Name | Type | Default | Description | |------|------|---------|-------------| | bpmnFilePath | string | — | Optional path to a .bpmn file (relative to public/). Omit for a blank diagram. | | width | string | '100%' | Width of the modeler container | | height | string | '500px' | Height of the modeler container | | engine | 'zeebe' \| 'camunda7' | — | Optional engine. Mounts a bpmn-js-properties-panel configured for the chosen engine. Omit for a panel-less modeler. |

💡 Tips

  • File location: BPMN files must be placed in the public/ folder
  • Supported formats: Standard BPMN 2.0 XML files (exported from Camunda Modeler, bpmn.io, etc.)
  • Styling: Use Tailwind classes on the component element to control sizing
  • Export: Each <Bpmn> component works seamlessly with Slidev's PDF/PNG export features

🔗 Related

Looking for DMN? If you're modeling decision tables alongside your processes, check out slidev-addon-dmn — the sister addon for rendering DMN diagrams in Slidev!

🤝 Contributing

Contributions are welcome! Feel free to report bugs, suggest features via issues, submit pull requests with improvements, or share your ideas and use cases.

To develop locally: clone the repo, run npm install, then npm run dev to test your changes.

🙏 Credits