The `Theme` component can dyanmically update the Carbon theme on the client-side. It can persist the theme locally using [window.localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage).
You must use the "all.css" StyleSheet with the Theme
component.
The `all.css` StyleSheet uses [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) for dynamic theming.
## Default
## Persist locally
Set `persist` to `true` to persist the theme locally using the [Window.localStorage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage).
## Custom theme
Define keys and values in the `tokens` prop that override default Carbon theme tokens. Refer to the [Carbon website](https://carbondesignsystem.com/guidelines/themes/overview#customizing-a-theme) for guidance on customizing a theme using token values.
## Theme toggle
Set `render` to `"toggle"` to render a toggle switch to control the theme.
## Theme toggle (custom)
Customize the toggle using the `toggle` prop.
## Theme select
Set `render` to `"select"` to render a select dropdown to control the theme.
## Theme select (custom)
Customize the select using the `select` prop.