Code Monkey home page Code Monkey logo

fusion's Introduction

Fusion - React Components for Your Design System

Build Status

Demo at: https://sape-fusion.herokuapp.com/

Why are we building this?

There are already a ton of really good Component Libraries out there, From Ant Design, to MaterialUI to Rebass and many others. These are great libraries if you want to put together a great looking UI without you having to spend time on the look and feel.

However if you are working on a project, that requires you to follow a certain Visual Style Guide and respect the brand guidelines, you would run into challenges trying to force fit any of the above component libs to meet your project needs. We also felt the time taken to tweak any of these components to meet your specific needs kills the productivity gains of using the library in the first place.

We also feel many of the components in these libraries are over engineered to support multiple use cases, many of which you really dont need in your application. This is unnecessary bloat.

How does Fusion Solve this?

Fusion is intended for React Developers who like to take full control on how their components look and behavior.

Fusion components contain the minimum set of features to get your component working in a project.

You are strongly encouraged to modify the components as per your style guide and design system.

You add Fusion to your project as a Git sub-tree so that fusion becomes a part of your source code instead of living within an npm_module.

It took every ounce of energy NOT to convert the Fusion core into an NPM module.

You may choose to build out an NPM module from the modified components so as to ensure consistency within your project and teams.

What does Fusion Offer out of the Box?

  • Every component is a Single File Component. You can simply copy and paste a component file into a project and start using it (just make sure you have emotion.js installed as a dependency).

  • Fusion Components use Emotion.js. If you are not into CSS in JS, you can simply copy out the styles into a separate css file and import it in.

  • Every Component is Theme-able using Theming.

  • All components aim to be as accessible as possible.

  • Every component file is under 150 lines of code. (may change..)

Getting started with Fusion

If you'd like to give it a quick spin

Clone the repo and do the usual

git clone [email protected]:pagesource/fusion.git

npm install

npm start

Running Dev Server

npm run dev

The Demo Kitchen Sink page is built using next.js

In the browser go to http://localhost:3000/kitchen-sink

Fusion components are located in the fusion folder

All pages related kitchen-sink are located in the pages folder

To add Fusion into your project as a Git-sub tree

git subtree add --prefix fusion https://github.com/pagesource/fusion.git master

The --prefix=fusion will create a folder called fusion and import the components into that folder. In case you want to copy the fusion components into a folder simply change the prefix to your folder name ==prefix=<your-folder-name>

License

Fusion is released under the MIT license :

LICENSE

fusion's People

Contributors

areai51 avatar dkvellin avatar kmesta-sapient avatar sapvicky avatar sbmadhav avatar shafeeqonline avatar shalinijha92 avatar vichu1988 avatar vinaymavi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.