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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@boardxus/canvasx-core

v0.1.15

Published

CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.

Readme

CanvasX

CanvasX is the core component of BoardX, an open source digital whiteboard. It builds on top of Fabric.js and provides a set of widgets and utilities for creating interactive canvas‑based applications.

Features

  • XCanvas – an extended Fabric.js canvas with built‑in connector and port management
  • A rich collection of widgets including text boxes, sticky notes, shapes, connectors, frames, images, files, charts, and markdown
  • Helper utilities for alignment guidelines, cropping and drawing
  • A Next.js based demo showcasing how the widgets work together

Installation

npm install @boardxus/canvasx-core

Basic Usage

import { XCanvas } from '@boardxus/canvasx-core';

const el = document.getElementById('canvas');
const canvas = new XCanvas(el);
canvas.setDimensions({ width: 500, height: 500 });

After creating an XCanvas instance you can add any of the provided widgets to build interactive experiences.

Running the Demo

This repository includes a full demo under .codesandbox/templates/next. Run the helper script to build the library and start the demo locally:

chmod +x demo.sh
./demo.sh

The script installs dependencies, builds the package and launches the demo on http://localhost:4000.

Development

  • npm run build – bundle the library using Rollup
  • npm test – run Jest tests
  • npm run type-check – run TypeScript type checking

Contributing

Contributions and issues are welcome! Feel free to open pull requests or report problems in the issue tracker.

License

CanvasX is released under the MIT license as specified in package.json.



👁️ Why Canvas X?

Humans—and increasingly human × AI teams—solve complex problems by seeing ideas together.
CanvasX lets you think with your eyes, turning abstract thoughts into shared visual objects that boost communication bandwidth.

  • Made for makers – Built on the robust Fabric.js engine you already trust.
  • AI‑ready hooks – Drop in your favourite GenAI model to auto‑generate shapes, sticky notes, or layouts.
  • Open‑source freedom – MIT‑licensed and part of the wider BoardX ecosystem.
  • Solo‑focus – Keep it lightweight: CanvasX ships only the canvas layer—no networking or persistence baked in.
    Bring your own sync/back‑end when you need it.

“Visual collaboration is not decoration—it’s cognition.”


✨ Core Capabilities

| Capability | Description | |------------|-------------| | Fabric.js Wrapper | Simple React component that exposes the full Fabric API plus sensible defaults. | | Extensible Widgets | Sticky notes, connectors, images, free‑draw, and plug‑in zones for your own React widgets. | | Viewport Mini‑Map | Navigate large canvases with a zoomable overview. |

Looking for multi‑user sync? That’s on our roadmap (see below) and intentionally decoupled so you can integrate your preferred real‑time framework (WebRTC, WebSockets, server‑side OT, etc.).


🚀 Quick Start

1. Install

npm install @boardx/canvasx-core fabric

2. Import & render

import { CanvasX } from '@boardx/canvasx-core';

📝 License

MIT © BoardX, Inc. We believe in open collaboration—use CanvasX freely and help us make visual teamwork ubiquitous.

Paste this into your README.md to give CanvasX a lean, accurate landing page that focuses solely on the whiteboard canvas while leaving sync and persistence for future or user‑chosen solutions.