Giter VIP home page Giter VIP logo

Comments (4)

fattenap avatar fattenap commented on July 20, 2024 1

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;

theme-change

from skeleton.

endigo9740 avatar endigo9740 commented on July 20, 2024 1

@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.

endigo9740 avatar endigo9740 commented on July 20, 2024

Reference: https://discord.com/channels/1003691521280856084/1025279710609014805/1226418235079917629

from skeleton.

endigo9740 avatar endigo9740 commented on July 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.