Coder Social home page Coder Social logo

recoil's Introduction

Recoil

npm version

Rapidly create React websites.

Alt text

Recoil is a react powered UI framework.

The main goal of Recoil was to build a front end framework that allows developers to rapidly create mobile first web applications

NPM Module

npm install react-recoil --save

Then include the following CSS files in your HTML:

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,500,700,900" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.2/css/font-awesome.css" />
<link async href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

In order to add the styles, you'll need to include in one file of your project

CSS Styles

import 'react-recoil/dist/styles.css';

Preffered Method - LESS Styles

import 'react-recoil/src/index.less';

You'll need to set up your project to build recoil. Assuming you're using Webpack, first install

npm install css-loader less less-loader style-loader --save-dev

Then in your Webpack configuration, include in the loaders array

{
    test: /\.less$/,
    loader: 'style-loader!css-loader!less-loader'
}

Importing Components

First you'll need to include the main Recoil component in the root view of your project.

The root Recoil component handles suff like detecting user agent or toggling nightmode.

For example if you use react-router.

import { Recoil } from 'react-recoil';

// On Render
// the onDevice and nightmode props are optional on Recoil Component
   <Router>
        <Recoil onDevice={this.onDevice} nightmode={isNightmode} {...styles}>
            // View and other Recoil Components here
        </Recoil>
    </Router>

Now, on your project you can destructure the components you want.

import { Toolbar, Button } from 'react-recoil';

An example of how to use them in your app.

<Toolbar spacing block>
    <Button icon="home" />
    <Button icon="user">
        Users
    </Button>
</Toolbar>

Documentation

First run these commands

git clone https://github.com/jisaac89/recoil.git
cd recoil
npm install
npm run start:dev

Will run on http://localhost:3000/

Todos

  • Write Tests

recoil's People

Contributors

jisaac89 avatar sjohnsonaz avatar

Stargazers

mayank avatar Tam Nguyen Khac avatar Jérémy Raffin avatar Neeraj Pandey avatar 맛카치 avatar Neeraj Rajpurohit avatar Greg Sherman avatar Safiy Zaghbane avatar Jeremy Barbe avatar DaiAoki avatar James avatar Josh Lind avatar Lucas Avelino avatar Pepijn Verburg avatar Jordan Hornblow avatar Hitesh Kumar avatar Matias Emanuel Ferrigno avatar aashim avatar Joel Wolfe avatar Stephen Clark avatar Mats Nord avatar Genaro Camele avatar Weslley Silva avatar Joyjeet Sarkar avatar YU avatar Kentaro Matsushita avatar Hiroki Nakashima avatar JP Ventura avatar Jochen Seeber avatar chandrakanth avatar Peter Petrov avatar Michael avatar  avatar Matias Ribichich avatar Praveen Prasad avatar  avatar kelvin Rodriguez avatar alwayrun avatar Philip Thrasher avatar Chris Marshall avatar Tavi avatar Alan Kash avatar Tiago Castro Henriques avatar — avatar martin katrenik avatar  avatar Mike England avatar  avatar Slava Bezgachev avatar Jordan Addison avatar  avatar Nikolay Kravets avatar  avatar Jeff Potter  avatar

Watchers

James Cloos avatar  avatar Zach Larsen avatar chandrakanth avatar

recoil's Issues

Fix issue of Align and Emerge component

You used to be able to use an Align component and Emerge the children hand in hand. Currently they do not play nice anymore so I will need to look into it.

Search Component

Should be able to take in a DataSource, show a Grid of the results and possibly have fuzzy search capabilities.

Dropdown updates

Single select title change, multi select with chip component,

Door (Open component in future) height bug.

Set the height when the component returns true, then change the height to auto, and vice versa for on close.

Currently there is a bug with the door/open component. When the door is open, since it animated to the childs height and sets the parent as that height, you cannot have dynamic height without remounting/setState on that component again.

intersection-observer doesn't work on Safari

The intersection-observer polyfill is missing from "dependencies" or "peerDependencies" in the package.json.

It appears this is fixed in the current GitHub version, but does not appear fixed in the latest npm release.

Toolbar tabs prop

so a Toolbar can have the following props as an example

<Toolbar tabs material .....
OR
<Toolbar tabs flush ....
OR
<Toolbar tabs ....

Dropdown issues

-Still not a fan of how drop downs are opening, feels like I made them a bit slow.
-Rename data property to dataSource and allow it to accept an array of objects.

Future style and element update list :

  • Input, checkboxes and dropdowns should have sizes, small large xlarge
  • Toolbar comp should work correctly with a mix of Input, checkbox's, dropdowns and buttons.

app component

App component will return something like:

<Layer fill scrollY nightmode={this.props.nightmode}>
     {this.props.children}
     <Notfications />
     <Dropdowns />
     <Tooltips />
</Layer>

Review Component

<Review src={"star.png"} outOf={5} score={2} ...

// By default outOf should be set to 5

<Review score={2} ...

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.