Comments (4)
Hi, I was able to get Storybook global styles working using the following approach.
I used @storybook/addon-themes
and configured withThemeByDataAttribute
for switching the theme only, not for dark/light mode. Make sure to set parentSelector
and point it to body. Once I did that I was able to set the global theme using the selector.
For dark mode, I used the storybook-dark-mode
add-on, which you can see below I configured using darkMode: { stylePreview: true }
My config looks like this
import type { Preview, SvelteRenderer } from '@storybook/svelte';
import { withThemeByDataAttribute } from '@storybook/addon-themes';
import '../src/app.postcss';
const preview: Preview = {
parameters: {
darkMode: { stylePreview: true },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i
}
}
},
decorators: [
withThemeByDataAttribute<SvelteRenderer>({
themes: {
skeleton: 'skeleton',
crimson: 'crimson',
modern: 'modern'
},
defaultTheme: 'skeleton',
parentSelector: 'body',
attributeName: 'data-theme'
})
]
};
export default preview;
from skeleton.
@fattenap I've tested and confirmed this is working great in practice. Good find about the dark mode plugin. We'll use this instruction when generating the upcoming integration guide for Skeleton v3.
from skeleton.
Reference: https://discord.com/channels/1003691521280856084/1025279710609014805/1226418235079917629
from skeleton.
Note: we have more documentation incoming on this topic soon. But just noting the need for the CSF if you wish to document all Svelte components (including support for slots).
from skeleton.
Related Issues (20)
- Svelte v5 RC: InputChip component produces errors HOT 9
- v3 React AppBar does not follow export conventions HOT 1
- v3 - consistency -D and --save-dev HOT 6
- TreeView - Custom Icons. HOT 1
- Carousel seems broken on doc page HOT 1
- Refactor React components to fall more inline with existing React libraries HOT 4
- RFC: Remove return types from React components
- A little bit of white peeking out on the progress bars (styling issue) HOT 3
- InputChips does not have restProps HOT 2
- Table of Contents: support setting scrollTarget, scrollOffset HOT 1
- AppRailTile on:click not working (v2.10.1) HOT 1
- Revert missing on:click event for App Rail Anchor Tile component
- NEXT: component consistency pass
- Missing import of popup HOT 3
- Carousels example HOT 2
- v3 Component API Revisions
- NEXT: Revisit Tab Component and API
- NEXT: Accordion missing a11y
- NEXT: Dependency updates
- NEXT: Introduce the skeleton-a11y package
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skeleton.