docs(theme): add examples

This commit is contained in:
Eric Y Liu 2021-07-10 15:31:39 -07:00
commit a97f72d3e3
8 changed files with 112 additions and 4 deletions

View file

@ -5,4 +5,40 @@
### Default
<FileSource src="/framed/Theme/Theme" />
<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.
<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" />

View file

@ -1,5 +1,17 @@
<script>
import { Theme } from "carbon-components-svelte";
import {
Theme,
RadioButtonGroup,
RadioButton,
} from "carbon-components-svelte";
let theme = "g90";
</script>
<Theme theme="g90" />
<Theme bind:theme />
<RadioButtonGroup legendText="Carbon theme" bind:selected="{theme}">
{#each ["white", "g10", "g80", "g90", "g100"] as value}
<RadioButton labelText="{value}" value="{value}" />
{/each}
</RadioButtonGroup>

View file

@ -0,0 +1,17 @@
<script>
import {
Theme,
RadioButtonGroup,
RadioButton,
} from "carbon-components-svelte";
let theme = "g90";
</script>
<Theme bind:theme persist persistKey="__carbon-theme" />
<RadioButtonGroup legendText="Carbon theme" bind:selected="{theme}">
{#each ["white", "g10", "g80", "g90", "g100"] as value}
<RadioButton labelText="{value}" value="{value}" />
{/each}
</RadioButtonGroup>

View file

@ -0,0 +1,5 @@
<script>
import { Theme } from "carbon-components-svelte";
</script>
<Theme render="select" />

View file

@ -0,0 +1,12 @@
<script>
import { Theme } from "carbon-components-svelte";
</script>
<Theme
render="select"
select="{{
themes: ['white', 'g90', 'g100'],
labelText: 'Select a theme',
inline: true,
}}"
/>

View file

@ -0,0 +1,5 @@
<script>
import { Theme } from "carbon-components-svelte";
</script>
<Theme render="toggle" />

View file

@ -0,0 +1,14 @@
<script>
import { Theme } from "carbon-components-svelte";
</script>
<Theme
render="toggle"
toggle="{{
themes: ['g10', 'g80'],
labelA: 'Enable dark mode',
labelB: 'Enable dark mode',
hideLabel: true,
size: 'sm',
}}"
/>

View file

@ -2,6 +2,13 @@
import { Theme, Button } from "carbon-components-svelte";
</script>
<Theme theme="g90" tokens="{{ 'button-primary': 'violet' }}" />
<Theme
theme="g90"
tokens="{{
'interactive-01': '#d02670',
'hover-primary': '#ee5396',
'active-primary': '#9f1853',
}}"
/>
<Button>Primary button</Button>