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

finallyreact

v1.5.1

Published

A simple and customizable design library for React, including a full set of component, style, and utility elements.

Downloads

229

Readme

.finally(React)

Where simplicity meets functionality

npm ja es ko zh-CN

FinallyReact is a React design library created with flexibility and usability in mind.

  • A full design and component library for your React application
  • Easily remove default styles on any component so you can style it with your own brand
  • Your classnames take precedence over component styling
  • A comprehensive set of utility class shortcuts, for faster styling
  • Accessibility focused and tested

Documentation

You can find examples of all component, design, and utility elements on the FinallyReact website (built entirely with FinallyReact).

Sites using FinallyReact

To use in your project

  • npm install finallyreact
  • Import FinallyReact CSS in your app, most likely in a top level app file:
    • import 'finallyreact/main.css'
  • Import components as needed, for example:
    • import { Column, Row, Card } from 'finallyreact'
  • (optional) create a config file in the root of your project (see below)
  • (optional) use PurgeCSS to reduce the size of the CSS bundle (see below)

Config (optional)

To set global settings, create a finally.config.js file in the root of your project.

Below are the available options, with default values:

export default {
  breakpoints: {
    xs: 600,
    sm: 900,
    md: 1200,
    lg: 1600,
    xl: 2000,
    xxl: 2400
  },
  simple: false
};

PurgeCSS (optional)

To reduce the size of the CSS bundle, you can use PostCSS and PurgeCSS. You can find an example postcss.config.js file in the examples folder.

Note: Ensure your purgecss content includes node_modules/finallyreact/index.js. If your app is in a monorepo, use your path to node_module, for example: ../../node_modules/finallyreact/index.js

License

Copyright © 2023-2024 dotfinally, LLC

Available under the MIT license, which means anyone can use FinallyReact for free, for any purpose. Read the full license text in the LICENSE.txt file in the repo.

FinallyReact is not affiliated with nor endorsed by the ReactJS team or Meta Platforms, Inc.

Development

If you'd like to run FinallyReact locally on your computer to make or test changes:

Prerequisites

  • NodeJS 20.x or higher
  • NPM 10.x or higher
  • React 18.x or higher

(older versions of Node might work but are not tested)

Setup

  • npm install

Build

  • npm run build from the root to create a lib folder with compiled files
  • To test changes in another app locally, run npm run link inside the lib folder created and npm link finallyreact in the external app
  • npm run build:watch from the root to build and watch for changes while developing (make sure to run npm run build at least once first)

Tests

  • npm run test

FAQ and Troubleshooting

  • For better stack traces while developing locally: change "mode" in webpack.config.js to "development"

  • The build size of my project is too large after including FinallyReact styles

    • Try using PurgeCSS to reduce the size of the CSS bundle (see steps above)
  • Importing finallyreact/main.css in my NextJS _app.js file isn't applying styles correctly

    • Try importing it in a separate .scss file instead, with @import '~finallyreact/main.css';
  • Why are most component styles written in TS files instead of directly in SASS?

    • The biggest issue with having all styles in SASS/CSS is overriding them with custom classes. You may have experienced the issue with many other React component libraries, which are difficult to customize if you use your own classes. This often leads to inspecting the component to find the exact, complicated CSS structure to target. FinallyReact makes this much easier! When you use FinallyReact utility classnames, any default styles in the same 'group' will be removed in favor of your overrides. And you can set the simple prop for any component to remove all default styles, making it even easier to add your own styles.