mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
56 lines
No EOL
1.9 KiB
Text
56 lines
No EOL
1.9 KiB
Text
<script>
|
|
import { InlineNotification, CodeSnippet } from "carbon-components-svelte";
|
|
import Preview from "../../components/Preview.svelte";
|
|
|
|
let code = `import "carbon-components-svelte/css/all.css";`;
|
|
</script>
|
|
|
|
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).
|
|
|
|
<InlineNotification svx-ignore lowContrast title="Note:" kind="info" hideCloseButton>
|
|
<div class="body-short-01">You must use the "all.css" StyleSheet with the <code>Theme</code> component.</div>
|
|
</InlineNotification>
|
|
|
|
The `all.css` StyleSheet uses [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) for dynamic theming.
|
|
|
|
<CodeSnippet svx-ignore {code} />
|
|
|
|
## Default
|
|
|
|
<FileSource src="/framed/Theme/Theme" />
|
|
|
|
## 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).
|
|
|
|
<FileSource src="/framed/Theme/ThemePersist" />
|
|
|
|
## 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.
|
|
|
|
<FileSource src="/framed/Theme/ThemeTokens" />
|
|
|
|
## Theme toggle
|
|
|
|
Set `render` to `"toggle"` to render a toggle switch to control the theme.
|
|
|
|
<FileSource src="/framed/Theme/ThemeToggle" />
|
|
|
|
## Theme toggle (custom)
|
|
|
|
Customize the toggle using the `toggle` prop.
|
|
|
|
<FileSource src="/framed/Theme/ThemeToggleCustom" />
|
|
|
|
## Theme select
|
|
|
|
Set `render` to `"select"` to render a select dropdown to control the theme.
|
|
|
|
<FileSource src="/framed/Theme/ThemeSelect" />
|
|
|
|
## Theme select (custom)
|
|
|
|
Customize the select using the `select` prop.
|
|
|
|
<FileSource src="/framed/Theme/ThemeSelectCustom" /> |