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

@snowball-tech/fractal

v10.20.1

Published

Fractal's (Snowball's design system) React component library based on RadixUI and PandaCSS

Downloads

1,531

Readme

Fractal components library

Introduction

Fractal is a collection of assets, UI components and guidelines that are used to build products, apps, marketing contents and documentations.

This package hosts the web (React) implementation of the components.

The Figma project is the base reference for this design system and is used through the design tokens package. The documentation website is the core reference for using the design tokens and the design system in products (web applications, mobile applications, marketing content, documentations, ...).

The code of this design system is written in TypeScript and is targeted to be used in React applications.
TailwindCSS is used to style all the components exposed here.
Also, most of the components are based on Radix-UI.

Our documentation site is based on Storybook.

Installation

Simply run:

yarn add @snowball-tech/fractal

Or (if you use NPM):

npm install @snowball-tech/fractal

Usage

This design system exposes an ESM bundle. To import a component, use the following pattern:

import { Typography } from '@snowball-tech/fractal'

Development

If you want to contribute, update or edit the design system:

  • First, setup the project
yarn setup

Or (if you use NPM):

npm run setup
  • Start the development Storybook server:
yarn dev

Storybook will launch, and when it's ready, it will open a browser tab pointing to http://localhost:6006. If the tab does not open, check the terminal prompt for errors.

  • Make your modifications (don't forget the tests).
  • Test your updates
  • Commit and push your changes and open a Pull Request.
  • When your changes are approved and merged in the main branch, a new release

Useful Commands

  • yarn run format-fix to format the code according to our formatting guidelines (using Prettier);
  • yarn run lint-fix: to check that the code matches our coding guidelines and automatically fix what can be fixed (using ESLint);
  • yarn run types-check: to check for TypeScript compilation errors;
  • yarn run test: run all the unit tests;
  • yarn run test-dev: run the tests for modified components and re-trigger runs everytime something is modified;
  • yarn run build: compiles and bundle the design system;

TypeScript

See the dedicated CONVENTIONS.md and TOOLING.md documentations.

Linting & Formatting

See the dedicated CONVENTIONS.md and TOOLING.md documentations.

Dependencies

Always remember to add dependency if you really need it to avoid cluttering the packages and degrading the performance both in the developers and users side.

It is your duty as a member of the Snowball's engineering team to help mainting the dependencies up to date. This means that you are expected and should help reviewing, testing and merging dependencies updates PRs on a regular basis.

The best way to do so is to regularly check the Renovate dashboard and the list of Pull Requests, for example every morning at the beginning of your day.

Also, see the dedicated TOOLING.md documentation for more information.

Environment variables

See the dedicated TOOLING.md documentation.

Tooling

See the dedicated TOOLING.md documentation.

Contributing

See the dedicated CONTRIBUTING.md documentation.

Conventions

See the dedicated CONVENTIONS.md documentation.

Help and feedback

If you have any questions or feedback, feel free to reach out to us using this repository issues or discussions.

You can also use the internal #engineering Slack channel if you are a member of the Snowball tech team.