Code Monkey home page Code Monkey logo

tabler-react's Introduction

Update - June 2019: Version 2

Alpha now available on NPM:

npm install tabler-react@alpha yarn add tabler-react@alpha

Check out the latest progress and get involved on this branch, or add your thoughts and requests to this issue.

Tabler React

React implementation of the Tabler Dashboard UI Kit

NPM Type definitions Greenkeeper badge Commitizen friendly

Demo | Documentation | Issues | Slack.

Install

Make sure you have Node.js 8+ and yarn installed.

yarn add tabler-react

Example

import React, { Component } from "react";

import "tabler-react/dist/Tabler.css";

import { Card, Button } from "tabler-react";

class MyCard extends Component {
  render() {
    return (
      <Card>
        <Card.Header>
          <Card.Title>Card Title</Card.Title>
        </Card.Header>
        <Card.Body>
          <Button color="primary">A Button</Button>
        </Card.Body>
      </Card>
    );
  }
}

For more examples and documentation see the demo website

Contributing

There are plenty of opportunities to get involved. Pick an outstanding task, let us know what you are working on and fire away with any questions.

The package is made up of 2 main folders:

  • /src contains all the Tabler React components
  • /example is our create-react-app based demo website

To setup and run a local copy:

  1. Clone this repo with git clone https://github.com/tabler/tabler-react
  2. Run yarn install in the root folder
  3. Run yarn install in the example folder
  4. In seperate terminal windows, run yarn start in the root and example folders.

You should now be up and running with live browser reloading of the example website while you work on Tabler React components in the /src folder.

When you're done working on your changes, submit a PR with the details and include a screenshot if you've changed anything visually.

License

MIT ยฉ jonthomp, AaronCoplan and the contributors.

tabler-react's People

Contributors

aaroncoplan avatar akabraham avatar alanbueno avatar burakakyol avatar colorninja avatar dependabot[bot] avatar devdustin avatar ecoleman avatar greenkeeper[bot] avatar greg-hamel avatar iamzjohn avatar imhugofonseca avatar joaquinwojcik avatar jonthomp avatar khaldiamer avatar klip avatar lukeburns avatar m8r1x avatar mattsoftware avatar meiremans avatar nating avatar nickalvesx avatar philsheard avatar sampsasaarela avatar semantic-release-bot avatar sidneycorreia avatar suyesh avatar thomas-smyth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tabler-react's Issues

Removing / using eslint?

Are we using eslint for anything? Since we are using prettier, I'm not sure if ES lint is serving any other purpose - I may be wrong though. If we are not using it that would really clean up our package.json file.

Add Tooltip Component

Tabler uses tooltips for a number of items.
For example, the media component uses tooltips:
screen shot 2018-04-28 at 17 10 27

Since we are trying to get rid of bootstrap components, a component could be developed from using react-popper.

Build all demo pages

  • Home/Dashboard

Interface

  • Cards Design
  • Charts
  • Pricing Cards

Components

  • Maps
  • Icons
  • Store
  • Blog
  • Carousel

Pages

  • Profile @MrJarv1s
  • Register
  • Login
  • Forgot Password
  • 400 error
  • 401 error
  • 403 error
  • 404 error
  • 500 error
  • 503 error
  • Email
  • Empty Page
  • RTL mode

  • Form Elements

  • Gallery

Add Media Component

The Media component located on the profile page is missing.
I would like to be tagged for that one, I am currently working on it as part of the Profile Page.

Minor Documentation Issues

The new documentation system for the most part looks amazing and works well. However, I have had 2 minor issues with it.

  1. Issue with the current page - could not resolve reference to Grid - I tried adding "./src/components/Grid/index.js" to the requires list in docs and rebuilding but could not fix it. (see fist attached screenshot for more info)

  2. I tried building the docs for TabbedCard with the following code in TabbedCard.examples.md and got some errors that I believe are similar to the ones described in number 1. The code I tried is as follows:

<TabbedCard initialTab="Hello">
  <Tab title="Hello">Hello World</Tab>
  <Tab title="Goodbye">Goodbye</Tab>
  <Tab title="Complex">
    <Grid.Row cards deck>
      <Grid.Col md={4}>
        <Card body="Short content" />
      </Grid.Col>
      <Grid.Col md={4}>
        <Card
          body="Extra long content of card. Lorem ipsum dolor sit amet,
          consetetur sadipscing elitr"
        />
      </Grid.Col>
      <Grid.Col md={4}>
        <Card body="Short content" />
      </Grid.Col>
    </Grid.Row>
  </Tab>
</TabbedCard>

(see second attached screenshot for more info)

docserror
docserror2

Grid.Col "xs" prop

Is this forgotten ? This may be required while designing component on mobile devices. What do you think ?
Grid.Col

Make Form.Input modifiable

The current Form.Input does not allow to edit its value on the webpage.
React value prevents modification. Form.Input would require an OnChange Handler as a function that would update the state of the component everytime a change is made.

Look into usage of `children?` in almost all components

Composition is great, but there are some cases where it might be better to change children?: React.Node to be title: string or something along those lines. It seems almost all of the components we have built take children, and I don't think they all necessarily need them.

Cleanup warnings

Whenever I go into example and run yarn start or yarn watch I get a lot of compiler warnings. Would be ideal if we could clean those up.

Add Typescript typings

When this project is in a better state it would be great to have Typescript typings (componentName.d.ts files) included in the package so that it can easily be used together with Typescript.

Console errors on docs page.

Repro: go to /docs/cards open console. I got following message:

docspageissue

I believe this is a result of the <Text> component default rendering as a <p> tag, which we then nest {children} under. As a result we are getting what looks like a lot of these errors

Add Profile Component

The Profile component located on the profile page is missing.
I would like to be tagged for that one, I am currently working on it as part of the Profile Page.

The profile component looks like this (as of current development):
screen shot 2018-04-28 at 14 48 06

Refactor Button.react.js to accept type similar to Alert.react.js

Having booleans for

  +outline?: boolean,
  +primary?: boolean,
  +secondary?: boolean,
  +success?: boolean,
  +info?: boolean,
  +warning?: boolean,
  +danger?: boolean,
  +link?: boolean,
  +block?: boolean,

is a little messy. If someone took the time to refactor this that would be a great first issue

Carousel

As we are aiming to remove all Bootstrap javascript dependencies from this project and we would eventually like this library to provide instantly and easily usable components out of the box, for the carousel cards, I propose we add an existing library such as react-nuka as a dependency to our library and provide components that wrap around it.

Any thoughts/feedback welcome ๐Ÿ‘

Build all base components

We need help getting all the base components built, anything without a user next to it is available so just let us know what your working on and we'll keep the list updated:

  • Avatar
  • Badge
  • Button
  • Basic Card
  • Card Footer
  • Pricing Card
  • Store Card
  • Gallery Card
  • Container
  • Dropdown
  • Dimmer
  • Form
  • Form select button groups
  • Form field set
  • Form toggle switches
  • Form radios
  • Form checkboxes
  • Form custom file input
  • Form input group text and button appends
  • Form input group prepend
  • Form select
  • Grid
  • Header
  • Icon
  • Nav
  • Page
  • Page/Website header
  • Page/Website navbar
  • Page/Website footer
  • Table
  • Text
  • Alert
  • Progress
  • Stamp

Export flow types

We need to export flow types for our module - even in the examples directory it does not know the flow types. This article seems to provide some good information on this

Remove all bootstrap javascript dependencies

We plan to remove all Bootstrap javascript dependencies from this project. In most cases, this will be replaced with our own state-based logic, for example hiding Alerts, but in other cases, it makes more sense to use existing libraries to replace the functionality for example Popovers and Carousels.

Components with bootstrap depenencies to remove:

  • Card options
  • Dropdowns
  • Popovers / Tooltips #114
  • Form input mask
  • Alerts dismissing
  • Nav
  • Button dropdowns

Deprecate documentation pages

With the new documentation pages, it might be a good idea to get rid of the old pages so that people stop adding to them and are forced to write documentation for the new system.

RTL version

How can I use RTL version? there is no document nor sample.

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.