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

@maracatu/estandarte

v0.3.0

Published

Estandarte — the Maracatu design system: tokens, theme, and shared React primitives.

Downloads

546

Readme

Estandarte

Estandarte is the Maracatu design system: the shared visual language and the React primitives every Maracatu frontend builds on. The estandarte is the banner a maracatu nation carries, its visual identity, which is exactly what this package is.

It is intentionally small. It holds what is genuinely shared across apps:

  • Design tokens (@maracatu/estandarte/theme.css): theme-aware surface, text, and border tokens that flip with a .dark class, plus the brand accent, the chart palette, and the radius scale.
  • Theme: ThemeProvider / useTheme, which toggle the .dark class and persist the choice.
  • Agnostic primitives: Toast and ChartRenderer (BRL-formatted), components that carry no app or domain coupling.

App- and domain-specific components (chat messages, agent activity, conversation menus) stay in the apps that own them. They are not design-system primitives.

Install

npm install @maracatu/estandarte

Peer dependencies: react and react-dom (18 or 19).

Use

Import the tokens once, in your app's global stylesheet, after Tailwind:

@import "tailwindcss";
@import "@maracatu/estandarte/theme.css";

Wrap the app in ThemeProvider and build with the components and the token utilities:

import { ThemeProvider, Toast, ChartRenderer } from "@maracatu/estandarte";

export function App() {
  return (
    <ThemeProvider>
      <div className="min-h-screen bg-canvas text-primary">
        <Toast message="Salvo com sucesso" kind="success" />
        <ChartRenderer config={{ type: "bar", title: "Gastos por mês", data: [/* … */] }} />
      </div>
    </ThemeProvider>
  );
}

Token utilities

| Group | Utilities | |---|---| | Surfaces (theme-aware) | bg-canvas, bg-elevated, bg-sidebar, bg-subtle | | Text (theme-aware) | text-primary, text-secondary, text-muted | | Border (theme-aware) | border-default | | Accent | text-accent, from-accent-from, to-accent-to | | Chart palette | bg-chart-1bg-chart-6 (and chartPalette in JS) | | Radius | rounded-control, rounded-card, rounded-bubble |

The raw, theme-aware values live in :root / .dark as --es-* custom properties; the @theme block re-exports them as the utilities above.

Develop

npm install
npm run build       # tsup -> dist (ESM + CJS + .d.ts + theme.css)
npm run typecheck

Scope

This is the foundation layer. It is meant to grow by promoting genuinely shared pieces out of the apps, never by absorbing app-specific UI. The bar for adding a component: it has no app, route, domain, or data coupling, and at least two frontends would use it.