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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ds-starter/ui

v0.2.0

Published

> **@ds-starter/ui** is the part of the [Design System Starter (DSS) Template](https://github.com/XOP/design-system-starter) > The package is created for demo purposes and is not intended for production usage > See it in action: > - [DSS Storybook](

Downloads

11

Readme

DSS UI @ Design System Starter Template

@ds-starter/ui is the part of the Design System Starter (DSS) Template
The package is created for demo purposes and is not intended for production usage
See it in action:

Overview

UI library is one of the essential pieces of Design System puzzle.
Of course there are generic approaches that rather focus on patterns and CSS for web development,
as well as there are libraries betting on web components for better cross-platform development.

In all cases, UI library is usually exported as a package and needs documentation.

Technology

DSS UI is built on top of react-aria, accessibility-first React headless UI library,
and it's compiled with Vite.
For styling and demo purposes vanilla-extract is used.

Note that your library organization can differ significantly, however conceptually it should not be too far away.
You can replace React with Vue or Solid, choose styled components, panda or CSS modules for styling and bundle your library with tsup or parcel if you prefer.

Note that selected headless library (react-aria) is great, but it's not a forced recommendation. It was selected to make a minimum reasonable demonstration and minimize the implementation churn.

Naturally your circumstances and tools of choice can vary quite a lot.

Organization

Apart with some helper files and styling assets, a common component in DSS UI consists of the UI code, CSS code and *.stories.* file for Storybook, the essential development and documentation tool.

Storybook is set up as a separate app, consolidating all stories across monorepo.

Installation

npm i @ds-starter/ui

In the next step make sure to include CSS in your app or project to enable styling.

In JS:

import '@ds-starter/ui/css/styles.css';

Or in CSS:

@import '@ds-starter/ui/css/styles.css';

Usage

import { Switch } from '@ds-starter/ui';

// ...
<div>
  <Switch color="neutral">Toggle</Switch>
</div>

When tree-shaking is supported you can benefit from dedicated import:

import Switch from '@ds-starter/ui/components/Switch/Switch';

Development

Since development is powered by Storybook, there is no dev script in the project per se.
The most reliable way to launch dev setup is to run it from root:

pnpm run dev

Adding a Component

Adding a new component can be tedious, especially in the monorepo setup,
as it has several files and is connected with docs project.

The recommended way to scaffold a new component is by running a generator.
Find full description in the main README.

Other scripts

Install the project and run the following commands from the packages/dss-ui path.

Build:

pnpm build

Lint:

pnpm lint

Format:

pnpm format

Note that local commands don't consider workspace dependencies - make sure to build everything in advance.
Alternatively, use global turbo commands (i.e. turbo dev).
Explore turbo docs for more information.

References