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

@centrifuge/fabric

v1.3.5

Published

Fabric Component Library

Downloads

49

Readme

fabric - Centrifuge Design System UI package

This package contains the implementation of the Centrifuge design system. It is home to:

  • Color definitions
  • Spacing units
  • Icon components
  • UI components (e.g. buttons, input controls, panels etc.)

Getting started

To start using Fabric, install the package and its peer dependencies:

# yarn
yarn add @centrifuge/fabric react react-dom styled-components

# npm
npm install --save @centrifuge/fabric react react-dom styled-components

Import the GlobalStyle component, a theme, and styled-components ThemeProvider component, and add them to the root of your React app.

import { GlobalStyle } from '@centrifuge/fabric'
import centrifugeLight from '@centrifuge/fabric/dist/theme/centrifugeLight'
import { ThemeProvider } from 'styled-components'

function App() {
  return (
    <ThemeProvider theme={centrifugeLight}>
      <GlobalStyle />
      {/* Rest of your React app */}
    </ThemeProvider>
  )
}

Integration in the monorepo

  • Make sure the same version of react and styled-components is used (at moment of writing: [email protected])
  • Add the package directory in apps/package.json under the workspaces prop
  • Declare the module in apps/tinlake-ui/declarations.d.ts
  • Add the dependency to apps/tinlake-ui/package.json:
    "@centrifuge/fabric": "workspace:*",
  • Change the build:deps script in apps/tinlake-ui/package.json:
    • from
      "build:deps": "cd ../tinlake.js && yarn build && cd ../tinlake-ui"
    • to
      "build:deps:tinlake.js": "cd ../tinlake.js && yarn build && cd ../tinlake-ui",
      "build:deps:fabric": "cd ../fabric && yarn build && cd ../tinlake-ui",
      "build:deps": "yarn build:deps:tinlake.js && yarn build:deps:fabric"

Development

With Storybook

$ yarn storybook

Will start the Storybook to allow development of the components in isolation

Watch mode

$ yarn build --watch

Will build locally and listen for changes, allowing to see the changes directly when working on tinlake-ui, for example

Visual regression testing

This package uses Loki for visual regression testing.

To execute visual regression tests locally:

yarn storybook # starts storybook, needed for Loki locally to be able to operate on stories

yarn test

If the test fails (differences were spotted between the reference and current snapshots), the diff images will be created in .loki/difference. If all the changes were expected, the reference snapshots can be approved:

yarn approve

Publishing a new version

Create a new branch and run yarn bump, which bumps the package version, updates the changelog, creates a commit and tags it. Push the branch/tag, which should publish the version to NPM. Open a PR to merge the changes to main. For generating the changelog, make sure to use the conventional commits spec in your commits, with fabric as the scope, e.g.: feat(fabric): Add button component