Git Product home page Git Product logo

material-dashboard-react's Introduction

version GitHub issues open GitHub issues closed

Image

Material Dashboard 2 React is our newest free MUI Admin Template based on React. If you’re a developer looking to create an admin dashboard that is developer-friendly, rich with features, and highly customisable, here is your match. Our innovative MUI & React dashboard comes with a beautiful design inspired by Google's Material Design and it will help you create stunning websites & web apps to delight your clients.

Fully Coded Elements Material Dashboard 2 React is built with over 70 frontend individual elements, like buttons, inputs, navbars, nav tabs, cards, or alerts, giving you the freedom of choosing and combining. All components can take variations in color, which you can easily modify using MUI styled() API and sx prop. You will save a lot of time going from prototyping to full-functional code because all elements are implemented.

This free MUI & React Dashboard is coming with prebuilt design blocks, so the development process is seamless, switching from our pages to the real website is very easy to be done.

Special thanks go to:

  • Nepcha Analytics for the analytics tool. Nepcha is already integrated with Material Dashboard React. You can use it to gain insights into your sources of traffic.

Documentation built by Developers

Each element is well presented in very complex documentation.

You can read more about the documentation here.

Example Pages

If you want to get inspiration or just show something directly to your clients, you can jump-start your development with our pre-built example pages. You will be able to quickly set up the basic structure for your web project.

View example pages here.

HELPFUL LINKS

Special thanks

During the development of this dashboard, we have used many existing resources from awesome developers. We want to thank them for providing their tools open source:

  • MUI - The React UI library for faster and easier web development.
  • React ChartJS 2 - Simple yet flexible React charting for designers & developers.
  • ChromaJS - A small-ish zero-dependency JavaScript library for all kinds of color conversions and color scales.

Let us know your thoughts below. And good luck with development!

Table of Contents

Versions

React

| Material Dashboard React

Demo

View More.

Quick start

Quick start options:

Terminal Commands

  1. Download and Install NodeJs LTS version from NodeJs Official Page.
  2. Navigate to the root ./ directory of the product and run yarn install or npm install to install our local dependencies.

Documentation

The documentation for the Material Dashboard is hosted at our website.

What's included

Within the download you'll find the following directories and files:

material-dashboard-react
    ├── public
    │   ├── apple-icon.png
    │   ├── favicon.png
    │   ├── index.html
    │   ├── manifest.json
    │   └── robots.txt
    ├── src
    │   ├── assets
    │   │   ├── images
    │   │   └── theme
    │   │       ├── base
    │   │       ├── components
    │   │       ├── functions
    │   │       ├── index.js
    │   │       └── theme-rtl.js
    │   │   └── theme-dark
    │   │       ├── base
    │   │       ├── components
    │   │       ├── functions
    │   │       ├── index.js
    │   │       └── theme-rtl.js
    │   ├── components
    │   │   ├── MDAlert
    │   │   ├── MDAvatar
    │   │   ├── MDBadge
    │   │   ├── MDBox
    │   │   ├── MDButton
    │   │   ├── MDInput
    │   │   ├── MDPagination
    │   │   ├── MDProgress
    │   │   ├── MDSnackbar
    │   │   └── MDTypography
    │   ├── context
    │   ├── examples
    │   │   ├── Breadcrumbs
    │   │   ├── Cards
    │   │   ├── Charts
    │   │   ├── Configurator
    │   │   ├── Footer
    │   │   ├── Items
    │   │   ├── LayoutContainers
    │   │   ├── Lists
    │   │   ├── Navbars
    │   │   ├── Sidenav
    │   │   ├── Tables
    │   │   └── Timeline
    │   ├── layouts
    │   │   ├── authentication
    │   │   ├── billing
    │   │   ├── dashboard
    │   │   ├── notifications
    │   │   ├── profile
    │   │   ├── rtl
    │   │   └── tables
    │   ├── App.js
    │   ├── index.js
    │   └── routes.js
    ├── .eslintrc.json
    ├── .prettierrc.json
    ├── CHANGELOG.md
    ├── ISSUE_TEMPLATE.md
    ├── jsconfig.json
    ├── LICENSE.md
    ├── package.json
    └── README.md

Browser Support

At present, we officially aim to support the last two versions of the following browsers:

Resources

Reporting Issues

We use GitHub Issues as the official bug tracker for the Material Dashboard React. Here are some advices for our users that want to report an issue:

  1. Make sure that you are using the latest version of the Material Dashboard React. Check the CHANGELOG from your dashboard on our website.
  2. Providing us reproducible steps for the issue will shorten the time it takes for it to be fixed.
  3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help.

Technical Support or Questions

If you have questions or need help integrating the product please contact us instead of opening an issue.

Licensing

Useful Links

Social Media

Twitter: https://twitter.com/CreativeTim

Facebook: https://www.facebook.com/CreativeTim

Dribbble: https://dribbble.com/creativetim

Google+: https://plus.google.com/+CreativetimPage

Instagram: https://instagram.com/creativetimofficial

material-dashboard-react's People

Contributors

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

material-dashboard-react's Issues

Having Trouble understanding your project structure.........

I have created a folder in views directory and created a file named crd.jsx.Then I have added following url object in dashboardRoutes array
{ path: "/card", sidebarName: "cardexample", navbarName: "Material Card", icon: Dashboard, component: CardBasic1 }
crd.txt
after going to the url I am also getting the vertical navbar , search option ,notification icon.But i am not understanding why r they appearing.....In my crd.jsx which function is responsible for loading these components....

Search component determines positioning of the Headerlinks

Hi,
Thanks for the awesome templates.
I was fiddling around with the template and discovered that removing the search components from HeaderLinks.jsx messes up the layout of the headerlinks.

image

It appears the CustomInput marginTop class is responsible for the positioning of the entire HeaderLinks section of the template

Failed to Compile w/ Absolute Import Paths v1.2.0

Hi,

I followed the quick start and terminal commands instructions from the Readme and am getting a failed to compile error due modules being unable to resolve. When I change the import statements to use relative paths the modules do resolve:

For example, with absolute path:
import "assets/css/material-dashboard-react.css?v=1.2.0"; // Compile Error

Changing to relative path:
import "./assets/css/material-dashboard-react.css?v=1.2.0"; // Module is resolved properly

screenshot from 2018-04-21 12-01-45

I saw the .env file does specify the NODE_PATH environment variable, but cannot get absolute paths to work on import statements;

Thanks!

Failure to deploy production optimized build

I'm struggling to deploy even the free version of this template. I wanted to experiment with the free version before I purchased the Pro version, but I'm stuck on the free version so far :(

Here are the steps:

  1. Download the template, unzip folder
  2. Run npm install
  3. Run npm start --> everything works fine
  4. Run npm run build. This creates a build folder.
  5. Deploy build folder to Firebase Hosting.
  6. When I navigate to the URL I deployed to, I see the following error:

Uncaught SyntaxError: Unexpected token <: main.2eeed198.js:1 What's weird is that the linked JS
file is not a JS file but actually an HTML file. Any idea how to fix it? I haven't made any modifications, this is all on the basic template!

How to integrate into existing project--relative paths etc

I'm testing out this version before hopefully buying the paid one. I can't see a quick easy way to integrate it into an existing project though. For maintainability, portability, updates, etc, I don't want to mix your components with mine and I need to be able to put your src folder anywhere in my tree. It seems like every instance of something like:

import buttonStyle from "assets/jss/material-dashboard-react/components/buttonStyle.jsx";

breaks webpack because the paths aren't relative.

How are people integrating this with an existing project? Am I missing something? I don't want to structure my app like yours, I don't want your router, etc. I just want the components and layouts.

Thanks!

Where's the entering point of this project?

Hi I am pretty new with the web development.
I'm wondering why you have "main": "index.js" in your packge.json file while you don't have any index.js under the root directory.
It seems like the entering point of this project is public/index.js
Can anyone help?

Double scrolling with additional Grids

When I add additional Grid containers for extra components e.g. tables/videos, I sometimes get a double scrollbar upon loading. Is this a container overflow issue, and if so where can I fix it? When I use fewer components, it doesn't overflow, but not sure where the constraint is, if any.

Cropped icon

Upgraded to "@material-ui/core": "^1.2.0":

screen shot 2018-06-07 at 12 44 09

As a matter of fact, simply upgrading from 1.0.0-beta.41 to 1.0.0-beta.42 will produce the UI bug.

👋 Some notes I took looking at the source code :)

Hi 👋 ,

I will gather my feedback on the project in this issue. You have done a great job so far! It's opening a new path for Material-UI. I want this project to be an inspiring theme example. I will invest time into it.

import BugReport from 'material-ui-icons/BugReport';
import Code from 'material-ui-icons/Code';
import Cloud from 'material-ui-icons/Cloud';
-paddingRight: '15px', 
+paddingRight: 15, 
  • Using theme.zIndex.modal + 2 could be more explicit
  • I was surprised to see all the styles in one file. I like the simplicity it's providing. But to be cautious with the bundle size implication. Right now, it's fine (40kB raw, 26kB minified, 5kb gzipped). However, I don't know if it's going to scale with the pro version. You can consider moving some of the files to the components to take advantage of code splitting between the pages when it starts to be an issue.
  • I'm surprised there is no usage of the MuiThemeProvider.
    For instance, setting the primary and secondary colors could have made the style override simpler.

Change color for a component

Hello,

I am working on a project that the primaryColor needs to change per user. I have been looking at this project and for example in Task.jsx I see your passing in an object with different colors like 'checked: 'Tasks-checked-407"'. How can I supply my own custom color here? Is there a better way to change the primaryColor per user?

Thanks

Does not render in Internet Explorer 11

Hello there,

Is there some particular reason why Material Dashboard React does not render in Internet Explorer 11 and just gives info that JavaScript needs to be enabled - even if IT IS enabled?

Thank you,
Pawel

serve -s build is not working

i have a problem when running npm run-script build everythings works but when i run serve -s build the style seens to be broken whats the problem with that
image

so i want to deploy the react app with node js but i can't work with this build there is something i can do about it??

this is how it looks like in development enviroment
image

Header Bar contents shift when modal is opened

I'm using a header on certain layouts (fashioned after the Header.jsx component). On pages where content is long enough that I've got a scroll bar showing on right - when I open a modal, the header contents shift slightly to the right then shift back when the modal is closed. I'm guessing this has something to due with the scroll bar since it does not happen on shorter pages without scroll bar.

As I am writing this up, I noticed that my scrollbar is much wider (looks like standard scrollbar) than the scrollbar on your demo site so this may also have something to do with that.

How do I access data in forms

For example, using the LoginCard. I can create an onClick event when the form button is clicked but can't figure out how to access the data entered in the text fields (like user email). What I've done so far is use setState in onChange function of formControlProps so I can grab the event but not the data actually entered into the text field.

<CustomInput
                        labelText="First Name.."
                        id="firstname"
                        formControlProps={{
                          fullWidth: true,
                          onChange: () => this.setState({ test: "testing" }),
                        }}```

Drawer backdrop displaying in front of main content

I've been trying to figure out why the Drawer component is rendering the backdrop above my main content.
image

The login screen is unclickable, and I'm not entirely sure why the main content is sitting below the Drawer component.

No starter server included for built project

I wrote a simple Node.js server to serve files from build folder, yet I open up an empty page. I think a simple server should be included so people have some basic idea how to get started with the built files.

Component input

In input compponent, the data came with props . How can i set value in input component and how can i take this value against from input.

Convert to typescript

I am looking to convert this template to typescript but I did not manage to get it working yet.

I started off with ChartCard.jsx file but I keep getting errors like:

Type '{ card: { display: string; position: string; width: string; margin: string; boxShadow: string; bo...' provides no match for the signature '(theme: Theme): Record<"card" | "cardHeader" | "cardTitle" | "cardContent" | "cardCategory" | "cardStats" | "cardActions" | "cardStatsLink" | "cardStatsIcon" | "orangeCardHeader" | "greenCardHeader" | "redCardHeader" | "blueCardHeader" | "purpleCardHeader" | "warningCardStatsIcon" | "primaryCardStatsIcon" | "dangerCardStatsIcon" | "successCardStatsIcon" | "infoCardStatsIcon" | "roseCardStatsIcon" | "grayCardStatsIcon", CSSProperties>'.

Any ideas?

Thanks,
Nick

Failed to compile when starting server

Browser displays errors after starting the server with "npm start". Keeps saying "Failed to compile".

Module not found: Can't resolve 'assets/css/material-dashboard-react.css' in '/home/user/Desktop/projects/project-folder/src'

Node/npm versions:
npm version - 5.6.0
Node version - 9.5.0
OS - Linux Mint

Minor display bug on Dashboard - Tasks buttons popover

Hello,

First, thank you for this awesome repo and work that you guys are doing.

I noticed something like a CSS problem on the Dashboard > Tasks.
When you are hovering the edit or delete icons, the popover that comes out is truncated / below other elements. See this screenshot for reference.

This bug is visible at least on Linux/Firefox (59.0.2 64 bits).
I do not see it using Linux/Chromium (65.0.3325.181 64 bits)

Custom input on error missing helper text

When using the CustomInput component defined in CustomInput.jsx I realized that there is no way to set helperText for the text field when there is an error to inform the user. Would it not make more sense to use TextField from material UI instead of Input to make this component more generic?

How to increase width of Header?

I am creating header appbar (following the example of Header.jsx). When I increase the number of menu items beyond a certain point (in my case, 7 items), I start to get word wrapping. There is plenty of horizontal open space. I have looked through pagesHeaderStyle.jsx but cannot see anything that would cause this.

I would like to be able to use the full horizontal width.

Extra single quote on Google Maps documentation

There is an extra single quote on line 30, character 61 that is breaking the code:

<CustomSkinMap googleMapURL="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY_HERE" loadingElement={<div style={{ height: '100%'' }} />} containerElement={<div style={{ height: '100vh' }} />} mapElement={<div style={{ height: '100%' }} />}

[Enhancement] Add card action props to card header

You have a CardHeader component that allow a lot of things, but, sometimes I want to add an action at top of card, like a button or iconbutton, currently to do this I need to create a div and use flexbox to set icon on right side and text to left side.

The material-ui lib has that feature at their Card
Code sandbox example: https://codesandbox.io/s/jvm7xqr595

Could you add that on CardHeader component?

Use individual components?

Hi! I have an existing project, and I'd really just like to cherry pick components from the dashboard to use (specifically the Timeline). Is there a recommended way to do this?

inkbar warnings due to "not implemented in input"

Hello,
I am seeing the warning below spam the console. Any insights into this? the inkbar seems to be heavily used.

Warning: Material-UI: the key inkbar provided to the classes property is not implemented in Input.
You can only override one of the following: root,formControl,focused,disabled,underline,error,multiline,fullWidth,input,inputMarginDense,inputDisabled,inputMultiline,inputType,inputTypeSearch

Use ApolloProvider

hi there, many thanks for the awesome template has saved us a ton of time.

where would you recommend that we instantiate ApolloProvider and which main element should we "wrap" so we can use Apollo throughout the app/views ?

Missing and out of date dependencies

Missing react-popper dependency in package.json. Also the current implementation is that of "react-popper": "0.10.4". 1.0 has breaking changes.

see...
src/components/Header/HeaderLinks.jsx

Adding personal .svg Icons from a folder in app.jsx

Hey, so I am trying to add my own icons to the appRoutes cosnt in app.jsx(in variables) however I can't seem to import these icons in any way. Any suggestions on how to use our own icons?
I have them as files in a folder

Notifications.jsx: Calling setState on an unmounted component.

Issue

Notifications not cleared between page changes, causing React warnings printed in the console:

Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.
in Notifications (created by WithStyles(Notifications))
in WithStyles(Notifications) (at notifications.js:8)
in NotificationsPage (created by ComponentRenderer)

Reproduce

  1. Navigate to Notifications page.
  2. Click on buttons to generate a few notifications.
  3. Navigate to Dashboard page.
  4. After a second the warning is displayed.

Resolution

  1. Notifications.jsx: Add alertTimeout = null member.
  2. Notifications.jsx: Add clearAlertTimeout function:
clearAlertTimeout() {
  if (this.alertTimeout !== null) {
    clearTimeout(this.alertTimeout);
  }
}
  1. Notifications.jsx: Add componentWillUnmount() function:
componentWillUnmount() {
  this.clearAlertTimeout();
}
  1. Notifications.jsx: Update showNotification function:
showNotification(place) {
  var x = [];
  x[place] = true;
  this.setState(x);
  this.clearAlertTimeout();
  this.alertTimeout = setTimeout(
    function() {
      x[place] = false;
      this.setState(x);
    }.bind(this),
    6000
  );
}

HeaderLinks.jsx: Define and upgrade react-popper dependency.

HeaderLinks.jsx has a dependency on react-popper, that is not listed in package.json. It could be included as a part of Material-UI, but I'm not sure which version that would be.

Please add react-popper and popper.js to package.json. Also notice, that if you use the latest version of react-popper, then the API has changed, so you will have to replace the <Target> component with the <Reference> component.

If you don't explicitly depend on react-popper, but rather on the one (potentially) bundled with the latest Material-UI, then an npm install loads the new version of react-popper used by Material-UI, and breaks HeaderLinks.jsx because of the new react-popper API.

How can i force contents to fit height of screen?

Thanks for your great works, having fun playing with it.

I have a 2 lists in right area, as one of the lists grows its size, the whole right area have to scroll.

What I want is to keep all contents (2 lists in my case) to fit the screen height either when size grows or even no item in list at all.

layout-control

Getting to work with Webpack

I am fairly new to webpack and react in general, but I am wondering if it is at all possible to get material-dashboard-react (or material-dashboard-pro-react) to work in tandem (or under) a Webpack react project.

I have managed to solve most compilation issues (except for google maps), but yet the generated code is far from what it should be. CSS is obviously incomplete and I suspect the resulting JS files are also incomplete.

Is there tutorial or some kind of reference implementation for the Demo or Pro version about how to get this sort of deployment to work correctly? I am attaching my present webpack.config.js and package.json for reference.

I intend to buy the Pro version if I am able to fit it in my project, of course.

Thanks.

Configuration files in https://gist.github.com/mpoli/eaa9dd0d9603e0b0a42a26f89e6a7af4

Using class properties not implemented in MUI components

When running this in my webpack configuration I had this happening:

Warning: Material-UI: the key `rootLabelIcon` provided to the classes property is not implemented in Tab.
You can only override one of the following: root,labelIcon,textColorInherit,textColorPrimary,textColorPrimarySelected,textColorPrimaryDisabled,textColorSecondary,textColorSecondarySelected,textColorSecondaryDisabled,textColorInheritSelected,textColorInheritDisabled,fullWidth,wrapper,labelContainer,label,labelWrapped

Warning: Material-UI: the key `rootInheritSelected` provided to the classes property is not implemented in Tab.
You can only override one of the following: root,labelIcon,textColorInherit,textColorPrimary,textColorPrimarySelected,textColorPrimaryDisabled,textColorSecondary,textColorSecondarySelected,textColorSecondaryDisabled,textColorInheritSelected,textColorInheritDisabled,fullWidth,wrapper,labelContainer,label,labelWrapped

Warning: Material-UI: the key `inkbar` provided to the classes property is not implemented in Input.
You can only override one of the following: root,formControl,focused,disabled,underline,error,multiline,fullWidth,input,inputMarginDense,inputDisabled,inputMultiline,inputType,inputTypeSearch

I don't know why this doesn't happen when running react-scripts start, but looking at the MUI code from beta36 I noticed that the components actually don't have those properties. They are defined inside their .d.ts counterparts, but I don't think that react-scripts are considering those...

Either way, I noticed that those props were actually removed after from the .d.ts so it is better to use the right ones even now.

I'm about to open a PR that will solve this.

./node_modules/@material-ui/core/ButtonBase/TouchRipple.js Module not found: Can't resolve '@babel/runtime/helpers/builtin/assertThisInitialized'

Followed the installation instructions, but on npm start this error comes up:

./node_modules/@material-ui/core/ButtonBase/TouchRipple.js
Module not found: Can't resolve '@babel/runtime/helpers/builtin/assertThisInitialized' in 'C:\MyApps\material-dashboard-react-v1.4.0\node_modules@material-ui\core\ButtonBase'

Tried the proposed solutions but nothing helped. Installing babel-runtime didn't help either. Anyone else getting this error? How could it be resolved? Thanks!

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.