An open API service indexing awesome lists of open source software.

https://github.com/guoyunhe/mui-palette-mode

Toggle dark or light mode for your MUI apps
https://github.com/guoyunhe/mui-palette-mode

Last synced: 3 months ago
JSON representation

Toggle dark or light mode for your MUI apps

Awesome Lists containing this project

README

        

# mui-palette-mode

Toggle dark or light mode for your MUI apps

## Install

```bash
npm i mui-palette-mode
```

## Usage

```jsx
import { AppBar, Toolbar, Typography, createTheme } from '@mui/material';
import { DualThemeProvider, PaletteModeButton } from 'mui-palette-mode';

const lightTheme = createTheme();
const darkTheme = createTheme({ palette: { mode: 'dark' } });

export default function App() {
return (



Click the button on the right 👉




);
}
```

## API

### ``

Provider to support dark/light theme switching.

#### `lightTheme: Theme`

MUI theme for light mode.

#### `darkTheme: Theme`

MUI theme for dark mode.

#### `defaultPaletteMode: 'light' | 'dark' | 'auto'`

Default value: `'auto'`

Default palette mode if user hasn't choose one. Palette mode is saved in localStorage (key: `theme_palette_mode`).

#### `icons: Record<'light' | 'dark' | 'auto', ReactNode>`

Default value:

```jsx
{
auto: ,
light: ,
dark: ,
};
```

Customize palette mode menu text.

#### `messages: Record<'light' | 'dark' | 'auto', ReactNode>`

Default value:

```js
{
auto: 'Auto',
light: 'Light',
dark: 'Dark',
}
```

Customize palette mode menu text.

### ``

The icon button to toggle color modes. Support all MUI `` component props.

### ``

The button to toggle color modes. Support all MUI `` component props.

### ``

The icon button to toggle color modes. Support all MUI `` component props.

### `usePaletteMode()`

The hook to get and set color mode.

```ts
const {
paletteMode,
userPaletteMode,
setUserPaletteMode,
toggleUserPaletteMode,
icon,
icons,
message,
messages,
} = usePaletteMode();
```