Skip to content

bhushanlaware/react-material-ui-theme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-material-ui-theme

Build Status npm version npm downloads npm

react-material-ui-theme is a part of the Material-UI theme to React. Using which you can add a Material-UI theme to your React app instantly without an extra build efforts. It will provide you theme toggle button to change dark and light theme and also can switch color theme. It use locolstorage to remember last theme and color of site

Installation

npm install react-material-ui-theme --save
  // or
yarn add react-material-ui-theme

Usage

You can apply theme to your any react material ui app in 2 easy steps

import AppThemeProvider, {
  ThemeColorPalette,
  ThemeTogglerButton,
  ThemeController,
} from "react-material-ui-theme";
  1. Wrap your component with AppThemeProvider

    <AppThemeProvider
     defaultColorPalette="Green yellow"
      defaultThemeMode="darkblue"
     >
     // your comoponents
     </AppThemeProvider>```
  2. Add theme controller anywhere in your app to change theme and color

    // Provide theme toggler button to change dark and light theme
    <ThemeTogglerButton />
    // Provivde color palette to chagne color
    <ThemeColorPalette />
    // Provide the both theme toggler and color palette
    <ThemeController />

Example

<AppThemeProvider
  defaultColorPalette="Green yellow"
  defaultThemeMode="darkblue"
>
  <Button color="primary">Primary</Button>
  <Button color="secondary">Secondary</Button>

  <ThemeTogglerButton />
  <ThemeColorPalette />
  <ThemeController />
</AppThemeProvider>

AppThemeProvider API

Parameter Type Description Options
defaultColorPalette String Default color palette of your site. You can use color palette provided in options as default color palette for your site Green yellow, Blue pink, Pink purple, Cyon yellow, Purple orange, Red blue"
defaultThemeMode String Default theme mode of your site. You can use theme mode provided in options as default theme for your site darkblue, dark, light

Hooks API

  1. use useThemeType hook to get theme type
import { useThemeType } from "react-material-ui-theme";

const [themeType, setThemeType] = useThemeType();
setThemeType("light");
console.log(themeType); // returns light)
  1. use useColorPalette hook to get color palette
import { useColorPalette } from "react-material-ui-theme";

const [colorPalette, setColorPalette] = useColorPalette();
setColorPalette("Blue pink");
console.log(colorPalette); // returns Blue pink

Note: works only on material ui components!

Please raise issue if you want add any feature like adding custom color palette or autocalculate secondary color.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published