GithubHelp home page GithubHelp logo

nogsmpls / react-atlas Goto Github PK

View Code? Open in Web Editor NEW

This project forked from digitalriver/react-atlas

0.0 3.0 0.0 9.56 MB

Composable React components with CSS Modules.

Home Page: http://digitalriver.github.io/react-atlas/

License: MIT License

JavaScript 19.20% CSS 80.80%

react-atlas's Introduction

React Atlas

This is an Alpha release and should be used with caution and hope.

Like, seriously, it's not even on npm yet.

React Atlas is a React component library, with a focus on supplying Admin Interface tools. The end-goal of this repo to is to eventually be the library that can power most of Digital River's complex admin interfaces and internal tooling projects. With this in mind, we need a fast, generic, composable library that can be dropped into a project and 'just work'.

Why?

React Atlas originally started off as a fork of React Toolbox. We liked the hierarchy and the way the components were built among many other things. However, we didn't want to be married to the Material Design concept, and wanted to make a library that was a little more generic looking in regards to style and functionality. We hope that React Atlas will be that tool.

Requirements

This library only officially supports Node 4.2.x and React 0.14.x, for now.

Via NPM

Just make sure you reference the CSS file that is packaged with this library, something like:

import './node_modules/react-atlas/lib/reactAtlas.min.css';

might work, depending on your app set up. Other than that, just import the components how you would normally.

Forking/Cloning and Building Yourself

If you wish to use this project via a fork, and build/minifiy on your own, you will need to account for the following:

This project uses CSS Modules and CSS Next for styling. To process this we use PostCSS. (Read why here). At minimum your application will need to have the following packages to correctly interpret and use our library:

Usage

The React Atlas is in early alpha development, the API is still changing.

For initial development and release, we are focusing on a nodejs with webpack environment. As we continue to develop React Atlas we might bring in examples and boilerplate repos to show it working with other build systems (JSPM, Browserify, UMD, etc.). Though our hope is that React Atlas will be generic enough, that it should be relatively simple to set up in most any environment.

With webpack in mind, we recommend using Babel Loader, and CSS Loader.

Once you've reference the React Atlas CSS file in your build process, requiring and using the components is as simple as:

import React from 'react';
import { Button } from 'react-atlas';

const someButton = () => (
  <Button>Some Text</Button>
);

export default someButton;

The previous code creates a React button component based on a React Atlas button default styling and logic.

CSS Customization

Internally for React Atlas development, we use CSS Modules. However, we compile down our CSS into 1 main CSS file that is namespaced similar to: .ra_filename_stylename. This allows multiple options for anyone that wants to restyle a React Atlas component. You can simply overwrite the class with your own css file or you can feed the component inline styles via the style prop, or you can pass your own className prop.

We will be thinking hard about styling going forward and this workflow may change. We want to make overriding the React Atlas styles as simple as possible. Something like React Themeable may be used.

Local Docs

To start documentation site locally you'd need to install dependencies from the main package and then just run the docs script:

git clone [email protected]:ux/react-atlas.git
npm install
npm run docs

Local documentation will be available at http://localhost:3000

Authors and Contributors

Before cloning or submitting a Pull Request, please read our Contributing Guidelines

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

The project is being initially developed and maintained by the Digital River Experience Engineering team.

Check out our wiki for more information on coding conventions, why we made certain decisions and a roadmap.

Set-Up/Installation for Development and Contributing

Pre-work for Windows Users (a.k.a. node-gyp stuff)

If running on windows, follow these steps to ensure you don't run into any 'node-gyp' issues:

Install VC++ Build Tools Technical Preview

💡 [Windows 7 only] requires .NET Framework 4.5.1

Install Python 2.7, and add it to your PATH, npm config set python python2.7

Launch cmd, npm config set msvs_version 2015 --global

License

This project is licensed under the terms of the MIT license.

Atlas?

When thinking about Web Design and Web Development, we came across the art of map making - Cartography.

Cartography (from Greek χάρτης khartēs, "map"; and γράφειν graphein, "write") is the study and practice of making maps. Combining science, aesthetics, and technique, cartography builds on the premise that reality can be modeled in ways that communicate spatial information effectively.

After reading about it more, we realized that as Web Designer and Developers, we are essentially modern-day map makers. We combine technology and design to build flat screens that communicate information in a fixed space. With this reasoning in our heads, we decided on Atlas. Atlas is defined as a collection (or a library if you will) of maps. What better name for a library of components that will be used to compose and display complex interfaces/maps?

Plus you know, there's this cool Titan in Greek mythology that literally holds up the world named Atlas.

react-atlas's People

Contributors

bernardstanislas avatar enzomartin avatar felipemsantana avatar javivelasco avatar kikobeats avatar liesislukas avatar mosmislit-dev avatar mping avatar nathanmarks avatar nogsmpls avatar soyjavi avatar ustccjw avatar ynonp avatar

Watchers

 avatar  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.