Git Product home page Git Product logo

tabler-react's Introduction

A premium and open source dashboard template with a responsive and high-quality UI.

A premium and open source dashboard template with a responsive and high-quality UI.

NPM version NPM Downloads Tabler preview License Tabler preview Test build GitHub stars

πŸ”Ž Preview

Tabler is fully responsive and compatible with all modern browsers. Thanks to its modern and user-friendly design you can create a fully functional interface that users will love! Choose the layouts and components you need and customize them to make your design consistent and eye-catching. Every component has been created with attention to detail to make your interface beautiful! Show me a demo

Tabler preview

πŸš€ Features

We've created this admin panel for everyone who wants to create templates based on our pre-made components. Our mission is to deliver a user-friendly, clear and easy administration panel that can be used by both simple websites and sophisticated systems. The only requirement is basic HTML and CSS (and some Liquid) knowledge β€” as a reward, you'll be able to manage and visualize different types of data in the easiest possible way!

  • Responsive: With the support for mobile, tablet and desktop displays, it doesn’t matter what device you’re using. Tabler is responsive in all major browsers.
  • Cross Browser: Our theme works perfectly with the latest Chrome, Firefox+, Safari, Opera, Edge and mobile browsers. We work hard to provide continuous support for them.
  • HTML5 & CSS3: We use only modern web technologies, such as HTML5 and CSS3. Our theme includes some subtle CSS3 animations, which will help you attract attention.
  • Clean Code: We followed Bootstrap’s guidelines carefully to make your integration as easy as possible. All code is handwritten and W3C valid.
  • Demo pages: Tabler features over 20 individual pages using various components, which gives you the freedom to choose and combine. All components can vary in color and styling that you can easily modify using Sass. Sky is the limit!
  • Single Page Application versions: Tabler React has React components for Tabler.

πŸ“– Documentation

Documentation is available as a part of Tabler preview: https://tabler.io/docs/

To run the documentation site locally, follow instructions in the Documentation README.

πŸͺ΄ Project Activity

Alt

πŸ’• Sponsor Tabler

Sponsor Tabler

Sponsors

Support this project by becoming a sponsor. Your logo will show up in this README with a link to your website. Become a sponsor!

πŸ“¦ Setup environment

To use our build system and run our documentation locally, you'll need a copy of Tabler's source files. Follow the steps below:

  1. Install Node.js, which we use to manage our dependencies.
  2. Navigate to the root /tabler directory and run pnpm install to install our local dependencies listed in package.json.
  3. Install Ruby - the recommended version is 2.7.6.
  4. Install Bundler with gem install bundler and finally run bundle install. It will install all Ruby dependencies, such as Jekyll and plugins.

OSX users:

  1. NPM pnpm install
  2. install Ruby (2.5.* recommended) brew install ruby @2.5
  3. install bundler gem install bundler
  4. install bundle install
  • if bundler get any errors try
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
  1. Run NPM npm run start

Windows users:

  1. Install Git in C:\Program Files\git\bin directory and run npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe" to change the default shell.
  2. Install Ruby+Devkit - the recommended version is 2.7.6.
  3. Read guide to get Jekyll up and running without problems.

Once you complete the setup, you'll be able to run the various commands provided from the command line.

Build locally

You need to have pnpm and bundler installed.

  1. From the root /tabler directory, run installation in the command line:
  • pnpm install
  • bundler install
  1. Then execute pnpm run start-plugins to start up the application stack.
  2. Open http://localhost:3000 in your browser, and voilΓ .
  3. Any change in the /src directory will build the application and refresh the page.

Note: Run pnpm run build for reforms a one off build application without refresh. Open http://localhost:3001 to configure the Web server.

Installation

Tabler is distributed via npm.

npm install --save @tabler/core

Running with Docker

If you don't want to install node/npm/ruby and the dependencies on your local environment, you can use the provided Dockerfile to build a docker image. This Dockerfile is provided as an example to spin-up a container running Tabler.

Example of how to use this image:

  1. Build the tabler image : docker build -t tabler .
  2. Run the tabler image while mounting the src directory as well as the _config.yml file into the container.

Don't forget to expose the port 3000 so you can browse the website locally. You can also expose the port 3001 to have access to BrowserSync

docker run -p 3000:3000 -p 3001:3001 -v $(pwd)/src:/app/src -v $(pwd)/_config.yml:/app/_config.yml tabler

Now open your browser to http://localhost:3000. Edit anything in the src/ folder and watch your browser refresh the page after it has been rebuilt.

CDN support

All files included in @tabler/core npm package are available over a CDN.

Javascript

<script src="https://cdn.jsdelivr.net/npm/@tabler/core@latest/dist/js/tabler.min.js"></script>

Styles

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/core@latest/dist/css/tabler.min.css">

Feature requests

https://tabler.canny.io/feature-requests

Bugs and feature requests

Found a bug or have a feature request? Please open a new issue.

πŸ€“ Creators

PaweΕ‚ Kuna

πŸ‘¨β€πŸš€ Contributors

This project exists thanks to all the people who contribute.

🌸 Backers

Thank you to all our backers! πŸ™ Become a backer

License

See the LICENSE file.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

tabler-react's People

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

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

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

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

Grid.Col "xs" prop

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

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

RTL version

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

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

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.

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.

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

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.

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.

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

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 πŸ‘

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.

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.