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

@sybilion/uilib

v1.2.5

Published

Sybilion Design System — React UI components (Webpack + Stylus)

Readme

Sybilion Design System

React UI components (Stylus modules, Radix primitives, Recharts).

This package does not embed app-specific contexts or API clients; the host app passes data and callbacks via props.

Install from npm (recommended)

Published as **@sybilion/uilib** on the public registry. No scope-specific .npmrc required.

yarn add @sybilion/uilib

Equivalent in package.json:

{
  "dependencies": {
    "@sybilion/uilib": "^1.0.20"
  }
}

Bare uilib imports + scoped install

When the package is installed as **@sybilion/uilib** but you keep imports as from 'uilib', add a bundler alias and matching TypeScript paths:

{
  "compilerOptions": {
    "paths": {
      "uilib": ["../node_modules/@sybilion/uilib"],
      "uilib/*": ["../node_modules/@sybilion/uilib/*"]
    }
  }
}

Webpack example:

resolve: {
  alias: {
    uilib: path.join(paths.modules, '@sybilion/uilib'),
  },
}

Default: prebuilt (dist/esm)

The package [exports](./package.json) entry . resolves to Rollup output and generated declarations:

import { Button } from '@sybilion/uilib';

// or, with alias: import { Button } from 'uilib';

Use this when you want compiled ESM (CSS modules processed; no Stylus loader required for the library). Ensure your bundler still handles standard JS/CSS imports from node_modules as usual.

Optional: source (./src subpath)

To compile from TypeScript + Stylus in your app, use the ./src export:

import { Button } from '@sybilion/uilib/src';

Deep imports use @sybilion/uilib/src/... (maps to files under [src/](./src)). Internal #uilib/... imports resolve through this package’s [imports](./package.json) field when bundling source.

Standalone Sybilion apps

See docs/standalone-apps.md — greenfield yarn add lists react, react-dom, react-router-dom, @auth0/auth0-react, @sybilion/uilib. @homecode/ui is a dependency of @sybilion/uilib and installs with it; declare React/router in your app so deduplication keeps one React instance (see peers below).

Bundling from source (uilib/src)

If you use **uilib/src** (or deep imports under uilib/src/), the host app must compile those files like application code:

  1. Include the library in the TypeScript/JSX pipeline — e.g. extend babel-loader / ts-loader include so it matches the installed package (and not only your app src):
 include: [paths.src, /node_modules\/@sybilion\/uilib/],
  1. Apply the same Stylus/CSS-module rules to .styl under node_modules/@sybilion/uilib as you use for your own imports.
  2. Do not remap #uilib — internal imports use #uilib/..., resolved via this package’s package.json [imports](./package.json). Keep your app’s own alias (for example @ → app src) as usual; it does not conflict with #uilib.

If you only use the default entry (import from '@sybilion/uilib' or aliased uilib), you typically do not need Stylus/TS compilation for the library in the consumer Webpack config.

Peer dependencies

Declare these in your app (package.json):

  • react and react-dom (>= 18) — required so the app and @homecode/ui resolve the same React (avoid invalid hook call / duplicate trees).
  • react-router-dom (>= 6) — layout components that use routing-aware UI.
  • @auth0/auth0-react (^2.3, optional peer) — install when you import SybilionAuthProvider / Sybilion auth hooks (see peerDependenciesMeta). Standalone docs include it in the yarn add line.

Included with @sybilion/uilib (normal dependencies): @homecode/ui (^4.17), Radix, Recharts, @vimeo/player, motion, etc. You import Theme / primitives from @homecode/ui without adding it separately unless you want an explicit top-level version pin.

Runtime dependencies are listed in package.json.

Maintainers

npm: log in (npm login), then from repo root:

yarn publish:npm    # @sybilion/uilib

runs yarn build before npm publish.

GitHub github: consumers: after changing library source, regenerate and commit the prebuilt output:

yarn build

Then commit the updated dist/ tree so GitHub installs stay up to date.

Integration notes (injected props)

These areas expect the app to supply behavior or data (not vendored from product code):

  • ChatChatContext exports types and hooks only. Implement ChatContext.Provider with ChatContextType in the app. Use renderMessageChart (or equivalent props) where charts appear inside messages.
  • ChartAreaInteractive — pass legend/overlay controls such as toggleLegendSeries, ensureAnalysisSeriesVisible, hiddenSeries, and overlayForecastData (use an empty object only if quantiles are entirely prop-driven).
  • PageFooterversionLink (empty string hides the version badge), versionLabel, and optional children between the logo block and copyright (debug UI, forms, etc. stay in the app).
  • Breadcrumbs / PageHeaderclientLogo, companyName, and breadcrumb item data.
  • RegionSelector — geographic options via the regions prop (no drivers-data import inside the library).
  • AnalysesSelector / chart legends — hidden-series Set and toggle callbacks owned by the app.

Scripts (this repo)

| Script | Description | | --------------------- | ------------------------------------------- | | yarn dev | Webpack dev server for the docs app | | yarn docs:build | Production build of docs to build/ | | yarn build | Rollup ESM build to dist/esm | | yarn build:watch | Rollup in watch mode | | yarn build:compress | Rollup build with COMPRESS=true | | yarn publish:npm | yarn build then publish @sybilion/uilib | | yarn ts | Typecheck (tsc --noEmit) | | yarn tests | Jest smoke tests | | yarn release | standard-version (bump changelog + tag) |