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

@zango-core/crud

v2.0.0

Published

Unified React CRUD components library for tables, forms and workflows.

Readme

@zango-core/crud

npm version license React

Unified React CRUD components library for tables, forms and workflows — one of the Zango frontend packages.

@zango-core/crud is a composable, headless-first React library and one of the frontend packages in the Zango ecosystem. It renders CRUD interfaces directly from the metadata a Zango backend serves. It pairs an advanced data table (built on TanStack Table) with a dynamic form engine (built on react-jsonschema-form) and a workflow/status-transition system — all driven by a shared, context-based state layer so default and custom components stay in sync without prop drilling.

Features

  • Drop-in or composable — render a full table with one <CrudHandler api_endpoint="…" />, or compose your own UI from the headless hooks.
  • Headless coreuseCrud and useForm expose state and actions with no UI attached, so you can build a completely custom layout on the same engine.
  • Dynamic forms — server-driven or local RJSF schemas via FormRenderer, plus a themed FormHandler with render slots, custom footer buttons, and --form-* CSS-variable theming.
  • Workflows — status badges, tags, and form-based transitions out of the box.
  • Granular subpath exports — import only what you need (/core, /ui, /form, /table).

Installation

npm install @zango-core/crud
# or: bun add @zango-core/crud

Peer dependencies

Install these alongside the library:

| Package | Version | | --- | --- | | react | ^17.0.0 \|\| ^18.0.0 | | react-dom | ^17.0.0 \|\| ^18.0.0 | | react-router-dom | 7.7.0 | | @zango-core/components | ^0.2.0-rc.3 |

Quick start

import { CrudHandler } from "@zango-core/crud/table";

export function Users() {
  // api_endpoint is the URL of a Zango CRUD view.
  return <CrudHandler api_endpoint="/api/users/" />;
}

api_endpoint points at a Zango CRUD view — the backend serves the table data and the metadata that drives it. That single component then renders a complete table — header, search, filters, pagination, and a detail drawer.

Entry points

The library ships multiple entry points so consumers only pull in what they use:

| Import | Contents | | --- | --- | | @zango-core/crud | Everything (convenience root barrel). | | @zango-core/crud/core | Headless logic only — useCrud, CrudProvider, types. No UI. | | @zango-core/crud/ui | Presentational Crud* components and cells. | | @zango-core/crud/form | FormRenderer, FormHandler, useForm, theming utilities. | | @zango-core/crud/table | Table engine — CrudHandler, Table, TableProvider, all useTable* hooks. |

Documentation

Full guides live in docs/guide/:

Development

git clone https://github.com/Healthlane-Technologies/pkg-zango-crud.git
cd pkg-zango-crud/crud/frontend
npm install

Common scripts:

| Script | Description | | --- | --- | | npm run dev | Start the development server (port 1234). | | npm run dev:mock | Dev server with MSW mocks enabled. | | npm run build | Build the library (all entry points). | | npm test | Run the unit test suite (Vitest). | | npm run test:e2e | Run the Playwright end-to-end suite. | | npm run lint | Lint and format diagnostics (Biome). |

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for setup, the project layout, and the development workflow. In short: run npm run lint and npm test before opening a PR, and follow Conventional Commits for commit messages.

To report a security vulnerability, please follow SECURITY.md rather than filing a public issue.

License

This project uses a multi-license arrangement, matching the wider Zango project: documentation (docs/) is licensed under CC BY-SA 4.0, client-side JavaScript under the MIT Expat license, and all other content under the Apache License 2.0. See LICENSE for the full text.

Copyright © Healthlane Technologies Pvt. Ltd. ("Zango").