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

@brightspot/ui

v1.10.0

Published

A UI library for building Brightspot CMS components.

Readme

Brightspot UI

About

Brightspot UI is a package of custom web components and styles to provide a basis for building new CMS components. It uses TailwindCSS for styling and LitElement for web components.

If you're developing a Brightspot CMS plugin or creating custom CMS UI for your project, then you've come to the right place!

Getting Started

Note: To get the best developer experience we recommend using VSCode editor. The marketplace of extensions that are available provide code formatting and intellisense for all the TailwindCSS classnames and our plugins, etc. The VSCode setup is documented here.

Prerequisites

Your codebase needs to be compatible with

  • TailwindCSS v3

Installation

  1. Install the Brightspot ui node module as a devDependency
    yarn add -D @brightspot/ui
  2. Create a tailwind.config file and add Brightspot ui as a preset. More on TWCSS presets here.
    // (Typescript example) contents of tailwind.config.ts
     export default {
       ...
       presets: [require('@brightspot/ui')],
       ...
     }
    // (Javascript example) contents of tailwind.config.js
     export default {
       ...
       presets: [require('@brightspot/ui/dist/tailwind.config.js')],
       ...
     }
  3. Build your frontend

Using Plugins

Brightspot UI comes with a variety of TailwindCSS plugins to make styling simpler and declarative. Visit the Storybook to see the available plugins.

To use our plugins, include them in your TailwindCSS config as usual. Plugin files are provided in both Typescript and Javascript variants and are available under the dist path in the brightspot-ui module.

An example of including a plugin:

// your tailwind.config.ts
  ...
  plugins: [
    require('@brightspot/ui/dist/tailwind-plugin-theme.ts'),
    ...

Web Components

Brightspot UI includes custom web components built with LitElement. FOUC (Flash of Unstyled Content) prevention is handled automatically when you import the components.

Import components in your JavaScript/TypeScript:

import '@brightspot/ui/dist/components/widget/Widget'

See the Storybook documentation for detailed usage examples and API references.

Examples

We use Storybook for interactive previewing of our ui components. Launch that in the browser by running:

  yarn storybook

Development

Prerequisites

  • Node.js v22 or higher - Required for development and git hooks

Building the Package

To build the package, run yarn build from the package root to create the dist folder containing all the compiled assets.

Local Development with yarn link

For local development and testing, use yarn link to create a symlink between this package and your consuming project. This approach provides real-time updates as you make changes to the brightspot-ui source code.

Setting up the link

  1. In the brightspot-ui package directory:

    yarn link

    This registers the package globally on your system for linking.

  2. In your consuming project directory:

    yarn link @brightspot/ui

    This creates a symlink from your project's node_modules to the brightspot-ui package.

    Note Be sure this is done in the directory where the package.json file resides for the CMS UI. Currently that is at /cms/tool-ui. You will need to validate your changes via your locally running Brightspot Tool UI Webpack server. It will not work directly over Docker's Tomcat.

Working with the linked package

  • From within this module, run yarn build to ensure the dist folder is updated with your changes.
  • From within tool-ui of Brightspot CMS, restart your local webpack server (yarn server:local) to pickup the linked brightspot ui module changes.

Removing the link

When you're done with local development:

  1. In your consuming project:

    yarn unlink @brightspot/ui
    yarn install --force
  2. In the brightspot-ui package directory:

    yarn unlink

This restores your project to use the published version from npm.

Frequently Asked Questions

Q: How can I see examples of the components and theme?

A: See the "Examples" section above.

Q: Can I choose which Brightspot UI plugins my project uses?

A: You have full control over which plugins you include in the tailwind.config file. See the "using plugins" section above.