❤️ Creative Tim Club - Access all our Present & Future Premium Products

Material Kit 2 PRO React

Material Kit 2 PRO React

Premium ReactJS & MUI Kit

· 4.90/5 (169 Reviews)
Get Free Demo

Premium MUI & ReactJS UI Kit

Product description


Material Kit 2 PRO React is our newest premium MUI Design System based on React. Its amazing design is inspired by Material Design and contains all the components you need for your development. If you’re a developer looking to create good-looking websites, rich with features, and highly customisable, here is your match.

Fully Coded Elements

Material Kit 2 PRO React is built with over 100 frontend individual elements, like buttons, inputs, navbars, alerts or cards, 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 Premium MUI & React template is coming with pre-built design blocks, so the development process is seamless, switching from our pages to the real website is very easy to be done. View all components here.

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

Product certified by: Creative Tim
Material Kit 2 PRO React - Fully Coded and Responsive HTML5
Material Kit 2 PRO React - Sass Files for Professional Front End Developers
Material Kit 2 PRO React - JavaScript library for building user interfaces
Material Kit 2 PRO React - Figma Files for Professional Designers
Downloads
1,566
Version
2.1.0
Changelog
Updated
10 months ago
Released
5 years ago
Reviews
Handcrafted Elements
100
Customized Plugins
10
Example Pages
18
Premium Support
Documentation
Fully Responsive

Trusted by 2,482,439 developers and these companies

Freelancer

Good for a personal or client web/mobile app.

$89

Startup

Build your startup or client web/mobile app.

$149

Company

Perfect for web/mobile apps or SaaS projects.

$249

*one time payment - no hidden fees, no subscription

Creative Tim Club

Lifetime Access to all our Present & Future Premium Products!

$749 $349

Documentation   
Full Code   
Designer Files   
Use in SaaS   
Projects    1 1 unlimited unlimited
Team Size    1 up to 5 up to 20 up to 20
Tech Support    support support priority support priority support
Free Updates    6 months 12 months 12 months unlimited

Secured Payment by 2Checkout with:

Info: If you are a Registered Company inside the European Union you will be able to add your VAT ID after your Press "Buy Now"

Frequently asked questions

You can use our products to create an application where the end user is charged with a monthly/annually subscription plan (SaaS - Software as a Service).
The Freelancer license is aimed at people who work on their own. It grants you the right to use the purchased product only for one project (either yours or for a client). This license is not compatible with SaaS-based projects.

The Startup license is aimed at smaller teams. It grants you and your team (up to 5 people) the right to use the purchased product only for one project (either yours or for a client). This license is not compatible with SaaS-based projects.

The Company license is aimed at agencies or larger teams. It grants you the right to create other licensed products base on the template that you purchase form us. This license it's compatible with SaaS-based projects.

The Enterprise license is aimed at large companies with multiple projects. It grants you the right to create any kind of software, SaaS, digital products and sell them. For restrictions, please check here

Also, the differences between our 3 types of Licenses is given by the Tech Support / Free Updates availability and Team Size.

More info here.
The differences between the Free and Pro products consists of the number of components, plugins, sections, pages in each.

More info here.
You can upgrade from one license plan to the next one whenever you want simply by paying the cost difference. You only have to send us an email in which you specify the product that you have and the Order ID. We will give you an unique coupon for the upgrade.

More info here.
Yes, of course! You can use the PRO product for an open source project if you add in the Readme file (on github) or in the description of your product that you built the project using “X product from Creative Tim” and a link to the product page.

More info here.
You don't have any restrictions using the Enterprise License; you just cannot create products or businesses that are in direct competition to us using our products:

  • You can’t re-distribute the Item as stock, in a tool or template, or with source files. You can’t do this with an Item either on its own or bundled with other items. You can’t re-distribute or make available the Item as-is or with superficial modifications. For example: You can’t license an item and then make it available as-is on your website for your users to download.

  • You can’t use the Item in any application allowing an end-user to customize a digital or physical product to their specific needs, such as an “on-demand”, “made to order” or “build it yourself” application. You can use the Item in this way only if you purchase a separate License for each final product incorporating the Item that is created using the application. For example: you can't create a website builder.
Depending on the License you purchase, you can use our products to either code a website/web application for you, for a client, or for multiple clients, which will be hosted on one or multiple domains:

  • For example, if you purchased the Freelancer License or Startup License, you can create only one website (for you or a client). Same, if you have multiple subdomains, like "test.yoursite.com" or "dev.yoursite.com", you can use the Freelancer License or Startup License.

  • If you want to create multiple websites, you will need a bigger License (like Company or Enterprise). Same, if you have a complex application like a SaaS and have "client1.yoursite.com" and "client2.yoursite.com" and "clientx.yoursite.com", you will need a multi-domain License like Company or Enterprise.
Depending on the License type you purchased, one or more developers (from your team, for example) can access the product:

  • If you purchased the Freelancer License, only you (one developer) can use the product.

  • If you purchased the Startup License, up to 5 developers (including you) can use the product.

  • If you purchased the Company License, up to 20 developers (including you) can access the product.

  • If you purchased the Enterprise License, you can work with a bigger team - more than 20 developers can access the product.
Here are the steps to give product access to your team members.
It consists of the product technical manuals like getting started, build tools, and it also describes every component with code examples.
It means that you receive access to the entire code for HTML, JS, and SCSS files depending on the different packages of each product.
When you buy our products you have access to our Support Team so you can submit any ticket to us regarding product functionalities and bug fixes (learning and tutorials related requests are not included). You will get responses directly from the product’s creators in 24 hours for regular Support and in a couple of hours for Priority Support (during business days).
Depending on your license type, you have a determined period when you receive product updates that include bug fixes and new features.

More info here.
Please send us an email at [email protected]. We will send you an upgrade coupon for your desired Bundle, and you will only pay the price difference.
Yes, you can. It is available for all Licenses type as long as the support included in the License is still valid.

More info here.

Get Free Demo

Learn more about Material Kit 2 PRO React in the light demo version. It has features from the full version. We hope you will like this introduction to this product!

What is in Demo? What is in PRO Version?
Elements 40 100
Plugins 5 10
Examples Pages 4 18
Full Coded
Documentation
SASS Files
Designer Files
Premium Support

We are here to help you!

108 Web Developers commented on this product

rimoslav
  • downloaded
5 years ago

Hello, What is the difference between HTML and HTML+PSD package? HTML gets me regular images, and HTML+PSD gets me photoshop files so I can edit images? Or is there more to it?

ctmployee
  • downloaded

Hello there @rimoslav . Thank you for your interest in working with our products. The HTML package only gives you the code, while the HTML+PSD, also gives you PSD images/files for our pages. Best, Manu.
5 years ago

rimoslav
  • downloaded
5 years ago

Hello, How can I change CustomInput in form, so I can have an error class (red underline, plus red text added as an error text)? Also, how to change default purple underline in CustomInput (when you click on an input field) to any other color?

rimoslav
  • downloaded

I figured out how to add red underline and red x mark in the field if there's an error, but how to add custom text?
5 years ago

ctmployee
  • downloaded

Hello there @rimoslav and thank you for your interest in working with our products. What do you mean by add custom text? Do you mean by adding a defaultValue? Best, Manu.
5 years ago

rimoslav
  • downloaded

I mean to literary display error text from server side validation. Same as bootstrap 4 .is-invalid and .is-valid. classes. So if user enters right password, there's a green check mark next to it, and no text below field. If he enters no password, there's red x, and "Please enter your password" written below input field. If he/she enters wrong password, there's "Wrong password" written below input field. And same for every input field in the form. I managed to do it by adding simple paragraph below every input field if there's an error, but it's not even close to acceptable solution.
5 years ago

hardik_rathore
  • downloaded
5 years ago

@ctmployee i'm trying to use browserHistory or history.push to redirect to a specific page defined in route say /profile-page but its not working.

ctmployee
  • downloaded

Hello again, @hardik_rathore. Can you please open an issue here: https://github.com/creativetimofficial/ct-material-kit-pro-react/issues ? I haven't used history.push, and do not know how to do that. So by opening an issue above, and if you complete the ISSUES_TEMPLATE when you press NEW ISSUE button, than you will have to respond to some questions, which will help me create the same issue that you have. That way i will be able to do testing and find a solution. Best, Manu.
5 years ago

rimoslav
  • downloaded

@hardik_rathore Are you using Redux? Here's how I just did it 5 minutes ago, using Redux, and react-redux library: In Sign-Up component: import React from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import { registerUser } from "../../actions/authActions"; componentDidMount() { window.scrollTo(0, 0); document.body.scrollTop = 0; if (this.props.auth.isAuthenticated) { this.props.history.push("/landing-page"); } } //if user is already logged in, redirect him immediately to landing-page UNSAFE_componentWillReceiveProps(nextProps) { if (nextProps.errors) { this.setState({ errors: nextProps.errors }); } } //errors are coming from back-end and are getting put into props (thanks to mapStateToProps) and from there, put into state. On form submit: handleSubmit(e) { e.preventDefault(); const newUser = { firstName: this.state.firstName, lastName: this.state.lastName, email: this.state.email, password: this.state.password, password2: this.state.password2 }; this.props.registerUser(newUser, this.props.history); } At the bottom of Sign-Up: Register.propTypes = { registerUser: PropTypes.func.isRequired, auth: PropTypes.object.isRequired, errors: PropTypes.object.isRequired, history: PropTypes.object, classes: PropTypes.object.isRequired, rest: PropTypes.array }; const mapStateToProps = state => ({ auth: state.auth, errors: state.errors }); export default connect( mapStateToProps, { registerUser } )(withStyles(signupPageStyle)(Register)); In authActions file, we make axios request: import { GET_ERRORS } from "./types"; export const registerUser = (userData, history) => dispatch => { axios .post("/api/users/register", userData) .then(res => history.push("/login-page")) .catch(err => dispatch({ type: GET_ERRORS, payload: err.response.data }) ); }; In errorReducer file: import { GET_ERRORS, CLEAR_ERRORS } from "../actions/types"; const initialState = {}; export default function(state = initialState, action) { switch (action.type) { case GET_ERRORS: return action.payload; case CLEAR_ERRORS: return {}; default: return state; } } Hope this helps.
5 years ago

jukkahuuskonen 5 years ago

@ctmployee Hi again, Eslint can't solve paths to your imports. Do you know any way to make eslint able to solve those import paths without using relative paths?

ctmployee
  • downloaded

Hello again @jukkahuuskonen . What do you mean <<Eslint can't solve paths to your imports>>? Have you taken a look at our live docs: https://demos.creative-tim.com/material-kit-pro-react/#/documentation/tutorial ? Maybe you do not have the .env file? I really am not sure what to say to you right now, since it's the first time I hear an issue about Eslint. Maybe it would help me if you would detail a bit. Best, Manu.
5 years ago

jukkahuuskonen

@ctmployee I've that .env -file. VSCode do find the imports, but Eslint gives following error on every import under src-folder: "[eslint] Unable to resolve path to module 'views/Dashboard/Dashboard.jsx'. [import/no-unresolved]" I can suppress the error by turning off that rule, but I'd like to have it on. I tried the "npm install --g cross-env", but it's still a bit unclear how to do that. 1.Do I delete the .env-file? 2. I really don't know how to edit the scripts on package.json. At the moment they are straight from the "Material-kit-react-pro" + several npm modules installed. Otherwise they are as they were. when I tried editing those scripts, nothing worked anymore.
5 years ago

ctmployee
  • downloaded

Hello again @jukkahuuskonen . Change the <<"start-js": "react-scripts start",>> line to <<"start-js": "NODE_PATH=./src react-scripts start",>> . Best, Manu.
5 years ago

jukkahuuskonen

@ctmployee Can't get it to work. getting this error on after<<npm start>> : <<'NODE_PATH' is not recognized as an internal or external command, operable program or batch file. npm ERR! code ELIFECYCLE npm ERR! errno 1...>> I'll report an issue, if this bothers me too much. This isn't the best place (due to the limited editor...) to report more complex problems :) Thank you for the effort though :)
5 years ago

hardik_rathore
  • downloaded
5 years ago

how to handle onChange for CustomInput

hardik_rathore
  • downloaded
5 years ago

inputProps={{ startAdornment: ( <InputAdornment position="start"> {/* <Icon className={classes.icon}>lock_outline</Icon> */} </InputAdornment> ), placeholder: "Password...", onChange:this.handleOnChange }}

ctmployee
  • downloaded

Hello again, @hardik_rathore . Yes, it seems you've figured it out. When you have questions like this, it would be useful to take a look at our repo issues (https://github.com/creativetimofficial/ct-material-kit-pro-react/issues) and search here if somebody hasn't already asked that. Best, Manu.
5 years ago

rimoslav
  • downloaded
5 years ago

@einazare Hello. It's impossible to make facebook login without updating react-scripts, since we need webpack-dev-server v 3.1.7 at least, which is react-scripts dependency. Is there any way around it?

rimoslav
  • downloaded
5 years ago

The reason for that is that, the app crashes with HTTPS=true set in the .env file (which is required now for facebook login).

ctmployee
  • downloaded

Hello, there @rimoslav . You can update the react, react-router-dom and react-scripts dependencies, but you will have to make some changes to our scripts. Also, you will have to change the import of our css, to scss from import <<"assets/scss/material-kit-pro-react.css?v=1.2.0";>> to <<import "assets/scss/material-kit-pro-react.scss?v=1.2.0";>> . Or add a new script for compiling the scss into css. Here is how you scripts should now look like: <<"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject", "install:clean": "rm -rf node_modules/ && rm -rf package-lock.json && npm install && npm start", "compile-scss": "node-sass src/assets/scss/material-kit-pro-react.scss ssrc/assets/scss/material-kit-pro-react.css" },>> . Best, Manu.
5 years ago

rimoslav
  • downloaded

Thanks for the reply. I did it with few extra steps. Besides that, I needed to remove anything containing eslint in optionalDependencies, delete package-lock.json, delete node_modules, delete .eslintrc.js file, run /npm install/ and then /npm prune/. I'll repeat these steps again if I have time, and post the issue on github.
5 years ago

denisoftus 5 years ago

Hi, I was wondering if this can be married to Meteor file structure? The internal links can be changed in the files, but every update to a new version will screw it, is there a way?

ctmployee
  • downloaded

Hello @denisoftus .And thank you for your interest in using our product. We haven't used Metero in none of our products and can't really answer your question. But i am going to tell you what we've told to a lot of our users that wanted something in our products that we haven't used, you can try our free version of this product and see if it suits your needs. Here is a link to it: <<https://www.creative-tim.com/product/material-kit-react>>. For the updates, you could have two Github repos, one on which you would develop your product, and one on which you would have our product unaltered. On each of our new releases, you would redownload the product and add it on top of that unaltered repo. Github would tell you all the differences there are from one release to another. Best, Manu
5 years ago

rndika 5 years ago

hello, what difference developer packages and personal packages?

ctmployee
  • downloaded

Hello there @rndika and thank you for your interest in working with our products. The Developer lets you create multiple projects for multiple clients, but only lets you to create just one SaaS application for you or your client, while with the personal package, you can only use it for one project - for you or your client - but this project cannot be a SaaS application. Hope this information was of help. Let us know if you have further questions. Best, Manu.
5 years ago

You have to be logged in to post a comment. Login here.